mysql查询返回xml格式_请问一下mybaties中数据库返回一个集合,应给怎么写xml文件?...

本文详细讲解了如何在MyBatis中通过JavaBean进行单表查询,包括直接映射与字段名一致的情况,以及处理不同字段名时的技巧。重点讨论了使用反射机制将查询结果转换为实体对象的过程,并展示了针对两个不同数据库表的实际操作和可能遇到的问题解决方法。
摘要由CSDN通过智能技术生成

查询语句是 MyBatis 中最常用的元素之一,本文涉及mybatis的单表查询操作,关联表有关的查询会后续补充。

巧妇难为无米之炊,要想从数据库中表中取出数据并转化为javaBean,所以,我们要先准备javabean以及与其对应的数据表。

javaBean:

public class President {

private int id;

private String name;

@Override

public String toString() {

return "President [id=" + id + ", name=" + name + "]";

}

//get set 方法.....

}

创建两个对应的数据库表,并插入两条数据:

create table president1(

p_id int not null auto_increment primary key,

p_name varchar(50) not null

);

insert into president1(p_name) values('lily'),('Tom');

create table president2(

id int not null auto_increment primary key,

name varchar(50) not null

);

insert into president2(name) values('lily'),('Tom');

创建两个数据库是为了测试两个不同的查询状况,

数据库字段名与实体类属性名相同

从sql表可以看出president2的字段名与javabean:President的属性名完全相同,这种情况下mybatis的select操作非常简单:

select * from president2 where id=#{id}

此时mybatis运用反射机制会将查询返回的结果(id,name)封装成President对象。

如果从表president1中查询,同样采用上面的sql语句

President p1 = session.selectOne(statement+"getPreByIdPresident1", 1);

System.out.println("表president1中查询"+p1);

此时如果用getPreByIdPresident1进行查询,返回的结果会是null,我们将上面的sql语句在mysql中执行下:

有结果返回,但是返回的字段名为(p_id,p_name)这种结果mybatis在解析时无法与President类对应。多数情况下实体类属性名与数据库表的字段名都会有差异,这种情况如果mybatis不能处理也就太low了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值