MyBatis 读取数据
本章将介绍 MyBatis 的读取数据操作。
1. 修改 UserMapper.xml 映射文件
UserMapper.xml 映射文件中将包含所有 User 相关 SQL 映射语句。
在映射文件中添加 Select 语句,Select语句会返回结果,需要把结果映射到 Java 对象,所以添加了 resultMap。Select 语句与 resultMap 都用唯一ID标志,以便在Java代码中可以调用。
我们添加了 2 个 select 方法:
- getAll – 获取用户列表
- getById – 获取用户详情
<?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 = "User"> <resultMap id="result" type="User"> <result property="id" column="id" /> <result property="name" column="name" /> </resultMap> <select id="getAll" resultMap="result"> SELECT * FROM User; </select> <select id="getById" parameterType="long" resultMap="result"> SELECT * FROM User WHERE ID = #{id}; </select> </mapper>
参数类型可以是任何类型,如 int、float、double 或任何类,本例中参数类型User,即在调用 SqlSession 类的方法时,将传入 User 类的对象。
2. 修改应用程序 main 类
应用程序 main 类位于文件 App.java:
package com.codebaoku.demo; import java.io.IOException; import java.io.Reader; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class App { public static void main(String args[]) throws IOException{ Reader reader = Resources.getResourceAsReader("MybatisConfig.xml"); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); SqlSession session = sqlSessionFactory.openSession(); System.out.println("------------ 读取用户列表 -----------"); //select contact all contacts List<User> userList = session.selectList("User.getAll"); for(User u : userList ){ System.out.println(u.getId()); System.out.println(u.getName()); } System.out.println("读取用户列表成功"); System.out.println("------------ 读取用户详情 -----------"); //select a particular student by id User user1 = (User) session.selectOne("User.getById", 2L); //Print the student details System.out.println(user1.getId()); System.out.println(user1.getName()); System.out.println("读取用户详情成功"); session.commit(); session.close(); } }
3. 运行
运行程序,输出结果:
------------ 读取用户列表 ----------- 1 user1 2 user2 3 user3 4 user4 5 user5 6 newUser100 8 newUser100 读取用户列表成功 ------------ 读取用户详情 ----------- 2 user2 读取用户详情成功
本章将介绍 MyBatis 的数据修改操作。1. 修改 UserMapper.xml 映射文件:UserMapper.xml 映射文件中将包含所有 User 相关 SQL 映射语句。首先读取一个用户信息,然后修改信息并保存,然后查询修改后的用户信息,确认是否修改成功。