Mybatis框架基础学习(三)
来源:互联网 发布:网络代工 编辑:程序博客网 时间:2024/05/17 07:54
本期功能:添加、删除、更新用户
// 新增用户、修改用户、删除用户/** * 1. 自增主键返回: Mysql自增主键,执行insert提交之前自动生成一个自增主键 * 通过mysql函数获取刚刚插入记录的自增主键:LAST_INSERT_ID(),insert之后调用2 * 2. 非自增主键(使用uuid()):使用mysql的uuid函数生成主键,需要修改表中id的属性为String,长度设置为35位 * 先通过uuid()查询得到主键,将主键设置到对象的属性中 */@Testpublic void modifyUser() throws IOException {// mybatis配置文件String resource = "SqlMapConfig.xml";// 得到配置文件流InputStream inputStream = Resources.getResourceAsStream(resource);// 创建会话工厂,builder中要传入配置文件信息SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);// 得到sqlSessionSqlSession sqlSession = sqlSessionFactory.openSession();SqlSession sqlSession2 = sqlSessionFactory.openSession();SqlSession sqlSession3 = sqlSessionFactory.openSession();// 使用sqlSession操作数据库Timestamp time = new Timestamp(System.currentTimeMillis());User user = new User();user.setFirst_name("Aron");user.setLast_name("Alice");user.setLast_update(time);System.out.println("新增用户");sqlSession.insert("test.insertUser", user);// 提交事務sqlSession.commit();// 获取用户主键System.out.println(user.getActor_id());user.setFirst_name("Arons");user.setLast_name("Alices");System.out.println("更新用户");sqlSession2.update("test.updateUser", user);sqlSession2.commit();System.out.println("删除用户");sqlSession3.delete("test.deleteUser", user.getActor_id());// 释放资源sqlSession.close();sqlSession2.close();sqlSession3.close();}配置文件:
<!-- 添加用户 parameterType:指定的输入类型是POJO#{}:指定POJO的属性名,接收POJO属性对象,Mybatis通过ONGL获取对象属性值--><insert id="insertUser" parameterType="com.cupdata.zicon.cobatis.User"><!-- 将插入的主键返回到User对象中,只适用于自增主键 --><selectKey keyProperty="actor_id" order="AFTER" resultType="java.lang.Integer">SELECT LAST_INSERT_ID();</selectKey>insert into actor(actor_id,first_name,last_name,last_update)value(#{actor_id},#{first_name},#{last_name},#{last_update});</insert><update id="updateUser" parameterType="com.cupdata.zicon.cobatis.User">update actor set first_name=#{first_name}, last_name=#{last_name} where actor_id=#{actor_id}</update><delete id="deleteUser" parameterType="java.lang.Integer">delete from actor where actor_id = #{id}</delete>总结
/** * Mybatis和Hibernate本质区别和应用场景 */Hibernate:是一个标准的ORM框架(对象关系映射)。入门门槛较高。不需要写sql语句。不足:对SQL语句优化和修改比较困难应用场景:需求变化不多的中小型项目,后台管理系统,ERP,OA,ORMMybatis:专注Sql本身,需要自己编写SQL,修改和优化比较方便。是一个不完全的ORM框架,实现了部分映射。应用场景:需求变化多的项目,互联网项目
0 0
- Mybatis框架基础学习(三)
- Mybatis框架基础学习(一)
- Mybatis框架基础学习(二)
- Mybatis框架基础学习(四)
- Mybatis基础框架学习(五)
- 框架基础学习之--mybatis
- Mybatis基础框架学习(六)
- Mybatis框架学习(三)—高级映射,延迟加载
- mybatis学习笔记之基础框架(2)
- 三大框架 SSM 之 Mybatis基础练习
- HTML学习笔记(三)--框架/部分基础/实体
- MyBatis学习(三)--Mybatis编写方式
- Mybatis学习笔记--(一)Mybatis基础
- mybatis学习笔记(三)
- MyBatis学习(三)- 小结
- mybatis学习笔记(三)
- Mybatis学习笔记(三)
- Mybatis学习笔记(三)
- 第一阶段的感想
- C语言中的变量
- hdu 5466 Clarke and expression(模拟)
- Android进程间通讯之messenger
- 系统开发技术栈
- Mybatis框架基础学习(三)
- 每日三个笑话-20151011
- 数据库部分
- cocos2d-x2.2.6项目在eclipse上搭建
- hdu 5479 Scaena Felix(水)
- C++Primer第四章
- EventBus(1)——基本使用
- Android细说binder机制
- hdu 5480 Conturbatio(水)