mybatis 增删查改操作实践

简介: 1.mybatis-config.xml  中定义typeAliases设置别名的时候,必须在setting标签之后。 2.一些别名已经被mybatis预先定义好,如map->Map 一样,详细看书。

1.mybatis-config.xml  中定义typeAliases设置别名的时候,必须在setting标签之后。

2.一些别名已经被mybatis预先定义好,如map->Map 一样,详细看书。

3.mappers 的命名空间一定要有良好的命名习惯,比如本次项目中的com.radish.mapper.UserMapper.{id}

4.insert 和 update 标签都能设置 useGeneratedKeys  

true 表示使用数据库支持的自增长规则。 如mysql就可以。  oracle是通过序列实现的,是不一样的。

5.insert 标签中  #{name}  #{age} 等表达式,如果传入参数是User类对象,就会去查询 name   age  等字段,而如果传入的不是User,

而是一个Map 集 ,就会以 name, age 为key 去查询value 来得到参数。

6.select * from table; 这种语句可以设置resultType =  "map"  然后返回的一条记录对应

一个map(String, Object) key是列名, value是属性。

7.不过使用resultType="map" 的形式接收数据不能非常好地描述一个模型。所以这时可以使用JavaBeans

去接收这个结果。操作步骤:

一、在UserMapper.xml 中添加代码:

    

<resultMap  id="userResultMap" type="user" >
    	<id property="id" column="id" />
    	<result property="name" column="name"/>
    	<result property="sex"  column="sex" />
    	<result property="age"  column="age" />
    </resultMap>

 上述代码定义了一个resultMap的规范。

  注意事项:

* user是之前在mybatis-config.xml中对com.radish.domain.User 定义过的别名

* column属性对应的是数据表的列名。property表示数据库列映射到返回类型的属性名。

二、在后续的<select/>中添加 resultMap="userResultMap"  mybatis就会将查询到的结果集一一向user类中的属性赋值。

然后写一个测试类:


public static void main(String[] args) {
// TODO Auto-generated method stub
SqlSession session = FKSqlSessionFactory.getSqlSession();
List<User> userList = session
.selectList("com.radish.mapper.UserMapper.listUserToResultMap");
for (User user : userList) {
System.out.println(user);
}
session.commit();
session.close();
}


测试台输出成功。

 

小笔记  如果事务不提交,数据库是不会有更改的,而控制台是有日志的输出的,错过一次。

 

相关文章
|
4月前
|
SQL Java 数据库连接
MyBatis 框架入门理论与实践
MyBatis 框架入门理论与实践
63 6
|
3月前
|
XML Java 数据库连接
【MyBatis】MyBatis操作数据库(一)
【MyBatis】MyBatis操作数据库(一)
33 1
|
3月前
|
SQL 存储 Java
基于MyBatis的增删改查操作
基于MyBatis的增删改查操作
31 1
|
3月前
|
XML Java 数据库连接
如何使用 MyBatis 来进行增、删、改、查操作
如何使用 MyBatis 来进行增、删、改、查操作
45 2
|
3月前
|
缓存 Java 数据库连接
我们后端程序员不是操作MyBatis的CRUD Boy
大家好,我是南哥。一个对Java程序员进阶成长颇有研究的人,今天我们接着新的一篇Java进阶指南。为啥都戏称后端是CRUD Boy?难道就因为天天怼着数据库CRUD吗?要我说,是这个岗位的位置要的就是你CRUD,你不得不CRUD。哪有公司天天能给你搭建高并发、高可用、大数据框架的活呢,一条业务线总要成长吧,慢慢成熟了就要装修工来缝缝补补、美化美化,也就是CRUD的活。不能妄自菲薄CRUD Boy,我们是后端工程师。今天来指南下操作数据库之MyBatis框架。
105 3
我们后端程序员不是操作MyBatis的CRUD Boy
|
2月前
|
SQL 缓存 Java
使用MyBatis优化Java持久层操作
使用MyBatis优化Java持久层操作
|
3月前
|
SQL XML Java
【MyBatis】 MyBatis框架下的高效数据操作:深入理解增删查改(CRUD)
【MyBatis】 MyBatis框架下的高效数据操作:深入理解增删查改(CRUD)
31 1
|
2月前
|
SQL 缓存 Java
使用MyBatis优化Java持久层操作
使用MyBatis优化Java持久层操作
|
3月前
|
Java 数据库连接 数据库
Spring日志完结篇,MyBatis操作数据库(入门)
Spring日志完结篇,MyBatis操作数据库(入门)
|
3月前
|
Java 数据库连接 数据库
MyBatis TypeHandler详解:原理与自定义实践
MyBatis TypeHandler详解:原理与自定义实践