11-映射配置文件-映射配置文件的介绍
<?xml version="1.0" encoding="UTF-8" ?> <!--MyBatis的DTD约束--> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- mapper:核心根标签 namespace属性:名称空间 --> <mapper namespace="StudentMapper"> <!-- select:查询功能的标签 id属性:唯一标识 resultType属性:指定结果映射对象类型 parameterType属性:指定参数映射对象类型 --> <select id="selectAll" resultType="student"> SELECT * FROM student </select> <select id="selectById" resultType="student" parameterType="int"> SELECT * FROM student WHERE id = #{id} </select> <insert id="insert" parameterType="student"> INSERT INTO student VALUES (#{id},#{name},#{age}) </insert> <update id="update" parameterType="student"> UPDATE student SET name = #{name},age = #{age} WHERE id = #{id} </update> <delete id="delete" parameterType="int"> DELETE FROM student WHERE id = #{id} </delete> </mapper>
12-映射配置文件-查询功能的使用
-
<select>:查询功能标签。
-
属性
id:唯一标识, 配合名称空间使用。
parameterType:指定参数映射的对象类型。
resultType:指定结果映射的对象类型。
-
SQL 获取参数: #{属性名}
-
示例
<select id="selectById" resultType="com.itheima.bean.Student" parameterType="java.lang.Integer"> SELECT * FROM student WHERE id = #{id} </select>
@Test public void selectById() throws IOException { // 1.加载核心配置文件 InputStream is = Resources.getResourceAsStream("MyBatisConfig.xml"); // 2. 获取SqlSession工厂对象 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is); // 3. 通过SqlSession工厂对象获取SqlSession对象 SqlSession sqlSession = sqlSessionFactory.openSession(); // 4.执行映射配置文件中的sql语句,并接受结果 Student stu = sqlSession.selectOne("StudentMapper.selectById", 3); // 5. 处理结果 System.out.println(stu); // 6. 释放资源 sqlSession.close(); is.close(); }
13-映射配置文件-新增功能的使用
-
<insert>:新增功能标签。
-
属性
id:唯一标识, 配合名称空间使用。
parameterType:指定参数映射的对象类型。
resultType:指定结果映射的对象类型。
-
SQL 获取参数: #{属性名}
- 示例
<insert id="insert" parameterType="com.itheima.bean.Student"> INSERT INTO student VALUES (#{id},#{name},#{age}) </insert>
@Test public void insert() throws IOException { // 1.加载核心配置文件 InputStream is = Resources.getResourceAsStream("MyBatisConfig.xml"); // 2. 获取SqlSession工厂对象 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is); // 3. 通过SqlSession工厂对象获取SqlSession对象 SqlSession sqlSession = sqlSessionFactory.openSession(); // 4.执行映射配置文件中的sql语句,并接受结果 Student stu = new Student(4,"赵六",26); int result = sqlSession.insert("StudentMapper.insert", stu); sqlSession.commit(); // 5. 处理结果 System.out.println(result); // 6. 释放资源 sqlSession.close(); is.close(); }
或者
@Test public void insert() throws IOException { // 1.加载核心配置文件 InputStream is = Resources.getResourceAsStream("MyBatisConfig.xml"); // 2. 获取SqlSession工厂对象 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is); // 3. 通过SqlSession工厂对象获取SqlSession对象 SqlSession sqlSession = sqlSessionFactory.openSession(true); // 4.执行映射配置文件中的sql语句,并接受结果 Student stu = new Student(4,"周七",26); int result = sqlSession.insert("StudentMapper.insert", stu); //sqlSession.commit(); // 5. 处理结果 System.out.println(result); // 6. 释放资源 sqlSession.close(); is.close();
14-映射配置文件-修改功能的使用
-
<update>:修改功能标签。
-
属性
id:唯一标识, 配合名称空间使用。
parameterType:指定参数映射的对象类型。
resultType:指定结果映射的对象类型。
-
SQL 获取参数: #{属性名}
<update id="update" parameterType="student"> UPDATE student SET name = #{name},age = #{age} WHERE id = #{id} </update>
@Test public void update() throws IOException { // 1.加载核心配置文件 InputStream is = Resources.getResourceAsStream("MyBatisConfig.xml"); // 2. 获取SqlSession工厂对象 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is); // 3. 通过SqlSession工厂对象获取SqlSession对象 SqlSession sqlSession = sqlSessionFactory.openSession(); // 4.执行映射配置文件中的sql语句,并接受结果 Student stu = new Student(4,"赵六",37); int result = sqlSession.update("StudentMapper.update", stu); sqlSession.commit(); // 5. 处理结果 System.out.println(result); // 6. 释放资源 sqlSession.close(); is.close(); }
15-映射配置文件-删除功能的使用
-
<delete>:查询功能标签。
-
属性
id:唯一标识, 配合名称空间使用。
parameterType:指定参数映射的对象类型。
resultType:指定结果映射的对象类型。
-
SQL 获取参数: #{属性名}
- 示例
<delete id="delete" parameterType="int"> DELETE FROM student WHERE id = #{id} </delete>
@Test public void delete() throws IOException { // 1.加载核心配置文件 InputStream is = Resources.getResourceAsStream("MyBatisConfig.xml"); // 2. 获取SqlSession工厂对象 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is); // 3. 通过SqlSession工厂对象获取SqlSession对象 SqlSession sqlSession = sqlSessionFactory.openSession(); // 4.执行映射配置文件中的sql语句,并接受结果 int result = sqlSession.delete("StudentMapper.delete", 4); sqlSession.commit(); // 5. 处理结果 System.out.println(result); // 6. 释放资源 sqlSession.close(); is.close(); }
16-映射配置文件-映射配置文件的小结