网站首页 > 资源文章 正文
要想mybatis查询数据库后,数据自动映射到指定的entity里的pojo类里,这里有三种方法,一种是通过XML文件里resultMap来建立对应关系、第二种是entity的类属性与表字段名字保持一致、第三种:其实原理是跟第二种一样,只不过是开启的mybatis的驼峰命名自动转换,即数据库字段 user_id的会对应到类属性里的userId,更符合java的命名规范。
第一种:通过resultMap来建立对应关系
UserDaoMapper.xml为例
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mavenssmlr.dao.UserDao">
<resultMap id="resultUser" type="com.mavenssmlr.entity.User">
<id property="id" column="id"/>
<result property="uname" column="uname" />
<result property="createTime" column="create_time" />
<result property="modifyTime" column="modify_time" />
</resultMap>
<select id="queryAll" resultMap="resultUser">
SELECT * FROM mavenssmlr.user
</select>
</mapper>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
说明:
type是指定实体类的路径
- property 指的是类属性 column指的是字段名
- resultMap=“id名”
entity/User.java
package com.mavenssmlr.entity;
import java.io.Serializable;
import java.util.Date;
public class User implements Serializable{
private int id;
private String uname;
private Date createTime;
private Date modifyTime;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getModifyTime() {
return modifyTime;
}
public void setModifyTime(Date modifyTime) {
this.modifyTime = modifyTime;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", uname='" + uname + '\'' +
", createTime=" + createTime +
", modifyTime=" + modifyTime +
'}';
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
测试:
@Test
public void queryAll() throws Exception {
List<User> userList = userDao.queryAll();
logger.info("____________userList={}", userList);
}
- 1
- 2
- 3
- 4
- 5
也可以利用注解:即resultMap里不写东西,在实体类里加上@Table @Id @Coulum等注解,进行关系映射
第二种:与数据库字段名保持一直或者开启驼峰命名转换
配置方法:
mbatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--配置全局属性-->
<settings>
<!--使用jdbc的getGeneratedKeys 获取数据库自增主键值-->
<setting name="useGeneratedKeys" value="true"/>
<!--使用列别名替换列名 默认true-->
<setting name="useColumnLabel" value="true"/>
<!--开启驼峰命名转换-->
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
</configuration>
- 上一篇: PHP动态网站设计试题(php动态网站实例)
- 下一篇: 春事看农桑(事春耕什么意思)
猜你喜欢
- 2024-10-21 hadoop启动报错:there is no HDFS_NAMENODE_USER _Error JAVA_HOME
- 2024-10-21 大同古城墙(大同古城墙的景点介绍)
- 2024-10-21 Maven快速入门(二)手动创建maven项目hellomaven
- 2024-10-21 盘点Python网页开发轻量级框架Flask知识(上篇)
- 2024-10-21 flask web服务器的开发就这样简单的入门
- 2024-10-21 Mybatis二级缓存的实现(mybatis 二级缓存)
- 2024-10-21 高一学生寒假(复习及预习用)数学、物理等学科教学视频目录
- 2024-10-21 怎么连接隐藏SSID无线网络(如何连接隐藏wifi网络)
- 2024-10-21 MyBatis中Dao层、Service层以及xml文件的CRUD模板
- 2024-10-21 HTML5表单自动验证(html5自带的表单验证功能)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)