-
ibatis查询问题3
我用的MYSQL数据库+ibatis,插入数据中文没问题. 查询的时候字段里的值取出来是??? 我是在JAVA类里测试的,并没在JPS里.
guest.xml<!-- 修改客户信息 --> <select id="queryGuest" parameterClass="int" resultClass= "guest"> <![CDATA[ SELECT * FROM GUESTTAB WHERE customer_id= #customer_id# ]]> </select>
javapublic Guest guestQuery(int customer_id){ //读取配置文件 Reader reader; Guest guest=null; try { reader = Resources.getResourceAsReader(resource); SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader); guest=(Guest)sqlMap.queryForObject("queryGuest",customer_id); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //得到SqlMapClient return guest; } public static void main(String[] args) { GuestDao guestDao= new GuestDao(); int id=1; Guest guest=guestDao.guestQuery(id); System.out.print(guest.getCustomer_name()); }
插入的值数据库里查都是中文正常的,取出来就是问号.请问如何解决?2008年10月23日 11:02
2个答案 按时间排序 按投票排序
-
建议你在项目中增加log4j,这样你就可以看到每一次操作的SQL语句都是什么,这样对于寻找问题的解决是有好处的。
例如我用的PostgreSQL,可以看到这样的提示。
SimpleDataSource - Checked out connection 18306082 from pool.
Connection - {conn-100003} Connection
Connection - {conn-100003} Preparing Statement: select nextval('sequence_id')
PreparedStatement - {pstm-100004} Executing Statement: select nextval('sequence_id')
PreparedStatement - {pstm-100004} Parameters: []
PreparedStatement - {pstm-100004} Types: []
ResultSet - {rset-100005} ResultSet
ResultSet - {rset-100005} Header: [nextval]
ResultSet - {rset-100005} Result: [11]
Connection - {conn-100003} Preparing Statement: INSERT INTO "Student"( id, "name", sex, birthday) VALUES (?,?, ?, ?);
PreparedStatement - {pstm-100006} Executing Statement: INSERT INTO "Student"( id, "name", sex, birthday) VALUES (?,?, ?, ?);
PreparedStatement - {pstm-100006} Parameters: [11, 测试名字, f, 2008-10-23 17:12:28.288]
PreparedStatement - {pstm-100006} Types: [java.lang.Integer, java.lang.String, java.lang.String, java.sql.Timestamp]
SimpleDataSource - Returned connection 18306082 to pool.
这样就容易找问题的错误。2008年10月23日 17:14
-
http://www.iteye.com/problems/2650
http://www.iteye.com/problems/5429
可参考这两篇文章!2008年10月23日 11:11
相关推荐
文档标题与描述均为“Ibatis查询Id列表.doc”,这表明文档内容主要聚焦于如何使用Ibatis查询ID列表。ID列表在实际应用中通常用于获取一系列记录的主键值,以便后续进行更复杂的操作或查询。 ### 三、查询Id列表的...
### 操作数据库iBATIS查询详解 #### 一、iBATIS中的LIKE查询技巧 iBATIS是一款优秀的Java持久层框架,它简化了基于SQL的程序编写,避免了程序员手动处理结果集和手工编写SQL语句。在进行数据库查询时,LIKE查询是...
动态查询语句配置是Ibatis的一个重要特性,它允许我们在运行时根据业务需求构建灵活多变的SQL语句。这篇博文主要探讨的是如何在Ibatis中设置和使用动态SQL,以便实现更高效、更灵活的数据查询。 首先,我们需要理解...
在Ibatis中,多表查询是一项重要的功能,它允许我们处理复杂的数据库操作,例如一对多、多对一或一对一的关系。在这个例子中,我们将探讨如何使用Ibatis进行一对多的多表查询,以`book`和`user`两个表为例。 首先,...
总结起来,这个Ibatis查询语句充分展示了Ibatis处理复杂查询的能力,包括动态SQL、子查询、多表联接、条件判断、数据类型映射和迭代处理等功能。在实际开发中,这种灵活性使得Ibatis能够适应各种复杂的业务场景,...
在本话题中,我们将探讨如何在使用iBatis框架与Oracle数据库时实现树形查询。 首先,iBatis是一个优秀的持久层框架,它允许开发者将SQL语句直接写在XML配置文件或者注解中,提供了比传统JDBC更高级的抽象层,使得...
【标题】:深入理解iBATIS的查询机制 【描述】:本文将详细解析iBATIS框架中的查询功能,包括处理复杂对象关系、XML映射和数据集操作,旨在帮助开发者充分利用iBATIS进行高效数据库操作。 【标签】:iBATIS、查询...
在多表查询中,Ibatis 提供了多种方式来处理复杂的关联查询,包括一对一、一对多、多对一和多对多等关系。在这个例子中,我们将探讨如何在 Ibatis 中实现一对多的关系查询。 首先,我们创建了两个表:`book` 和 `...
### iBatis 多表查询知识点详解 #### 一、iBatis简介 iBatis 是一款优秀的持久层框架,它将 SQL 映射到 Java 对象,简化了 JDBC 编程过程中的繁琐操作,提高了开发效率。iBatis 的核心功能包括 SQL 映射、动态 SQL...
iBatis 动态查询条件...* 在使用 iBatis 的动态查询条件时,需要注意 SQL 注入问题。 iBatis 的动态查询条件提供了强大的功能,可以根据不同的参数生成不同的 SQL 语句,使得开发者可以更方便地实现复杂的查询逻辑。
在本资源中,"iBatis条件查询"着重展示了如何根据业务需求定制SQL语句进行数据检索,尤其在不涉及复杂关联查询的情况下,iBatis可以提供高效且简单的解决方案。 首先,iBatis的核心概念是SQL Map,它是一个XML配置...
针对ibatis的多参数查询问题,这里介绍三种常见的解决方法: ##### 1. 使用字符串(String)替代 **实现方式:** - 在SQL映射文件中,定义`<select>`标签的`parameterClass`属性为`java.lang.String`。 - 直接在...
03查询指定id的单个对象.avi,技术讲解。对入门者有帮助!
ibatis动态多条件组合查询 实例 说明
### 解决IBatis缓存动态字段问题 #### 背景与问题描述 在使用IBatis框架处理数据库操作时,可能会遇到动态数据表名、动态字段名的情况。这种情况下,由于IBatis的缓存机制,可能导致字段找不到的问题。具体表现为...
Ibatis 是一款轻量级的Java持久层框架,它允许开发者将SQL语句与Java代码分离,从而使得数据库访问更加灵活、易于维护。本篇文章将深入探讨Ibatis的核心概念、最佳实践以及与其他框架如Struts和Spring的整合。 1. ...
iBATIS模糊查询 iBATIS模糊查询是指使用iBATIS框架实现模糊查询的方法。模糊查询是指在数据库中搜索包含指定字符串的记录,通常...iBATIS模糊查询可以帮助开发者快速实现模糊查询功能,但需要注意安全性和性能问题。
### ibatis的动态查询知识点详解 #### 一、模糊查询 **知识点1:** 在进行模糊查询时,ibatis支持两种不同的语法标记:`#` 和 `$`。 1. **使用 `$value$` 进行模糊查询:** - 在进行模糊查询时,使用 `$value$` ...
本文将详细介绍如何使用iBatis进行连接查询。 首先,我们需要理解iBatis的工作原理。iBatis并不是像Hibernate那样完全自动管理数据库操作,而是将SQL语句的编写权交给开发者,这样可以更好地控制查询性能和复杂性。...