重温 MyBatis(二) —— 增删改查

本贴最后更新于 2688 天前,其中的信息可能已经物是人非

驼峰命名自动映射

image

根据上面的运行结果,我们发现,数据表中的字段 last_name 与类 Emp 中的属性 lastName 不能进行映射。但是 mybatis 为我们提供了字段的驼峰命名转换功能,我们只需要在,mybatis-config.xml 中配置即可

<settings>
    <!-- 使用驼峰命名法转换字段。 -->
    <setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>

运行结果:

image

增删改

新增

<insert id="insert" parameterType="com.fun.tv.model.Emp">
  insert into bd_emp(id,last_name,gender,email) values(#{id},#{lastName},#{gender},#{email})
</insert>
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
Emp emp = new Emp();
emp.setLastName("hello");
emp.setGender("1");
emp.setEmail("aaa@163.com");
int result = sqlSession.insert("com.fun.tv.dao.EmpDao.insert", emp);
sqlSession.commit();

修改

<update id="update" parameterType="com.fun.tv.model.Emp">
  update bd_emp set last_name=#{lastName},gender=#{gender},email=#{email} where id=#{id}
</update>
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
Emp emp = new Emp();
emp.setId(4);
emp.setLastName("world");
emp.setGender("1");
emp.setEmail("aaa@163.com");
int result = sqlSession.update("com.fun.tv.dao.EmpDao.update", emp);
sqlSession.commit();

删除

<delete id="delete" parameterType="int">
  delete from bd_emp where id=#{id}
</delete>
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
int result = sqlSession.delete("com.fun.tv.dao.EmpDao.delete", 4);
sqlSession.commit();
			
  • MyBatis

    MyBatis 本是 Apache 软件基金会 的一个开源项目 iBatis,2010 年这个项目由 Apache 软件基金会迁移到了 google code,并且改名为 MyBatis ,2013 年 11 月再次迁移到了 GitHub。

    170 引用 • 414 回帖 • 386 关注
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3187 引用 • 8213 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...