Copyright © 2022-2024 aizws.net · 网站版本: v1.2.6·内部版本: v1.23.3·
页面加载耗时 0.00 毫秒·物理内存 60.4MB ·虚拟内存 1300.0MB
欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
本章将介绍 MyBatis 的读取数据操作。
UserMapper.xml 映射文件中将包含所有 User 相关 SQL 映射语句。
在映射文件中添加 Select 语句,Select语句会返回结果,需要把结果映射到 Java 对象,所以添加了 resultMap。Select 语句与 resultMap 都用唯一ID标志,以便在Java代码中可以调用。
我们添加了 2 个 select 方法:
<?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 类的对象。
应用程序 main 类位于文件 App.java:
package com.aizws.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(); } }
运行程序,输出结果:
------------ 读取用户列表 ----------- 1 user1 2 user2 3 user3 4 user4 5 user5 6 newUser100 8 newUser100 读取用户列表成功 ------------ 读取用户详情 ----------- 2 user2 读取用户详情成功
本章将介绍 MyBatis 的数据修改操作。1. 修改 UserMapper.xml 映射文件:UserMapper.xml 映射文件中将包含所有 User 相关 SQL 映射语句。首先读取一个用户信息,然后修改信息并保存,然后查询修改后的用户信息,确认是否修改成功。