MyBatis 04
Posted 一纸流年
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis 04相关的知识,希望对你有一定的参考价值。
上一节讲到了获得sqlsession,那么这一节我么讲利用sqlsession来完成一些数据的操作(增删改查)。
<?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.demo.entity.emp"> <!-- 全部查找 --> <select id="findAll" resultType="com.demo.entity.emp"> select *from emp </select> <!-- 模糊查找 --> <select id="findLikeName" parameterType="int" resultType="com.demo.entity.emp"> select*from emp where name like #{name} </select> <!-- 精确查找 --> <select id="findById" parameterType="int" resultType="com.demo.entity.emp"> select*from emp where id = #{id} </select> <!-- 插入操作 --> <insert id="save" parameterType="com.demo.entity.emp"> insert into emp(name,salary,age) values(#{name},#{salary},#{age}) </insert> <!-- 删除操作 --> <delete id="delete" parameterType="int"> delete form emp where id=#{eid} </delete> <!-- 更新操作 --> <update id="update" parameterType="com.demo.entity.emp"> update emp set salary=#{salary} where id=#{id} </update> </mapper>
以上是对sql语句的定义。
parameterType=”int” 这个属性是对参数类型的定义,MyBatis提供了一套简单的定义,有:int,string,double等,都是小写开头。如果不用MyBatis提供的定义,那么参数定义里必须填写参数的具体类型(包名.类名,例如:java.lang.String)。
这里的参数表示和我们的jdbc有些区别,不是用?表示位置参数,而是用#{XXX}替代。
当参数只有一个时候,#{xxx}里面的占位符可以随意填写。但是像插入操作有三个参数,就要填写实体类中的域名。
<!-- 插入操作 --> <insert id="save" parameterType="com.demo.entity.emp"> insert into emp(name,salary,age) values(#{name},#{salary},#{age}) </insert>
以上是empMapper中的sql语句定义。
接下来我们来看看测试语句:
package Test; import java.util.List; import org.apache.ibatis.session.SqlSession; import com.demo.Utils.MybatisUtil; import com.demo.entity.emp; public class TestEmp { public static void main(String[] args){ SqlSession session = MybatisUtil.getSqlSession(); //查询所有 // List<emp> list= // session.selectList("findAll"); // for(emp e:list){ // System.out.println(e.getAge()); // } //session.close(); //条件查询 // emp e=session.selectOne("findById",1); // System.out.println(e.getName()); // session.close(); // 插入操作 // emp e=new emp(); // e.setName("wch"); // e.setSalary(5000000.0); // e.setAge(22); // session.insert("save",e); // session.commit(); // //若想修改或者添加数据,需要提交即:session.commit。 // //我们以前使用的jdbc是自动提交,这里的框架将自动提交关闭了。 // session.close(); //删除操作 // session.delete("delete",1); // session.commit(); //更新操作 emp e=new emp(); e.setId(1); e.setSalary(100000.0); session.update("update", e); session.commit(); session.close(); } }
以上就是利用MyBatis对数据库的具体简单操作。
版权声明:本文为博主原创文章,如需转载请表明出处。 https://blog.csdn.net/qq_39266910/article/details/77920761
以上是关于MyBatis 04的主要内容,如果未能解决你的问题,请参考以下文章
SSM-MyBatis-05:Mybatis中别名,sql片段和模糊查询加getMapper
MYBATIS05_ifwherechoosewhentrimsetforEach标签sql片段