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();
}