MyBatis学习3之CRUD
程序员文章站
2022-07-12 17:57:20
...
接着上一篇博客,基于上次的开发环境此篇文章我们通过mybatis对t_group表进行CRUD操作
一、使用MyBatis对t_group表执行CRUD操作——基于XML的实现
1、在sql映射文件GroupMapper.xml添加以下内容
<!-- 插入数据 --> <insert id="addGroup"> insert into t_group (group_name,description) values (#{groupName},#{description}) </insert>
2、使用Junit编写单元测试用例
2.1添加操作
public class TestMyBatis2 extends TestCase { private SqlSessionFactory sqlSessionFactory; private Reader reader; @Override protected void setUp() throws Exception { try { reader = Resources.getResourceAsReader("mybatis.xml"); sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); } catch (Exception e) { e.printStackTrace(); } } public void testAddGroup(){ SqlSession session = null; try{ session = sqlSessionFactory.openSession(); String statement = "com.zlt.mybatis.model.Group.addGroup"; Group data = new Group(); data.setGroupName("游侠组"); data.setDescription("游便大江南北"); session.insert(statement,data); }finally{ if(null != session) session.close(); } }
运行程序,没有错误,但是表中并没有添加此记录,造成此现象说明mybatis进行CRU操作时默认的是手动提交事务.
在session.insert(statement,data);添加以下内容
session.commit();//手动提交事务
在执行程序,表中记录添加了
2.2更新操作
在sql映射文件GroupMapper.xml添加以下内容
<!-- 更新数据 --> <update id="updateGroup"> update t_group set group_name =#{groupName},description=#{description} where id = #{id} </update>
单元测试:
public void testUpdateGroup(){ SqlSession session = null; try{ session = sqlSessionFactory.openSession(); String statement = "com.zlt.mybatis.model.Group.updateGroup"; Group data = new Group(); data.setId(3); data.setGroupName("特工组"); data.setDescription("进行特殊任务"); session.update(statement,data); session.commit(); }finally{ if(null != session) session.close(); } }
运行结果:
2.3删除操作
在sql映射文件GroupMapper.xml文件中添加以下内容
<!-- 删除数据 --> <delete id="deleteGroupByID" parameterType="int"> delete from t_group where id =#{id} </delete>
单元测试
public void testDeleteGroup(){ SqlSession session = null; try{ session = sqlSessionFactory.openSession(); String statement = "com.zlt.mybatis.model.Group.deleteGroupByID"; Group data = new Group(); data.setId(3); data.setGroupName("特工组"); data.setDescription("进行特殊、高效的任务"); session.update(statement,data); session.commit(); }finally{ if(null != session) session.close(); } }
运行结果
2.4查询所有记录
在sql映射文件GroupMapper.xml添加以下内容
<!-- 查询所有记录 --> <select id="selectGroups" parameterType="int" resultType="Group" > select t.id,t.group_name groupName,t.description from t_group t </select>
单元测试:
public void testQueryAllGroup(){ SqlSession session = null; try{ session = sqlSessionFactory.openSession(); String statement = "com.zlt.mybatis.model.Group.selectGroups"; List<Group> groups = session.selectList(statement); for (Group g : groups) { System.out.println("ID:" + g.getId() + "name:" + g.getGroupName() + "description:" + g.getDescription()); } }finally{ if(null != session) session.close(); } }
运行结果:
推荐阅读
-
Apache Commons Math3学习之数值积分实例代码
-
Mybatis学习总结之mybatis使用建议
-
MyBatis学习教程(二)—如何使用MyBatis对users表执行CRUD操作
-
Spring+SpringMVC+MyBatis深入学习及搭建(一)之MyBatis的基础知识
-
css3动画学习之 transform
-
mybatis-plus之CRUD
-
学习uboot前奏之hardware-uart[s3c2440]
-
学习uboot前奏之hardware-clock[s3c2440]
-
机器学习之第3部分 词向量的更多的乐趣 博客分类: 机器学习
-
Mybatis基础学习(一):通过Mybatis完成对数据库的基本CRUD操作