MyBatis 速成手册
入门案例
现有一张数据表:
mysql> use mybatis; Database changed mysql> select * from tbl_employee; +----+-----------+--------+-------------+ | id | last_name | gender | email | +----+-----------+--------+-------------+ | 1 | tom | 0 | tom@163.com | +----+-----------+--------+-------------+ 1 row in set (0.00 sec)
该如何通过MyBatis对其进行查询?首先创建对应的Java类:
package com.wwj.mybatis.bean; public class Employee { private Integer id; private String lastName; private String email; private String gender; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } @Override public String toString() { return "Employee [id=" + id + ", lastName=" + lastName + ", email=" + email + ", gender=" + gender + "]"; } }
其次编写MyBatis的全局配置文件(mybatis-config.xml):
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql:///mybatis"/> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <mappers> <mapper resource="EmployeeMapper.xml"/> </mappers> </configuration>
全局配置文件中主要配置的是数据源信息,然后是最后的mappers标签,该标签配置的是sql语句的映射文件。
所以我们接着创建sql语句的映射文件(EmployeeMapper.xml):
<?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.wwj.mybatis.bean.Employee"> <select id="selectEmp" resultType="com.wwj.mybatis.bean.Employee"> select id,last_name lastName,email,gender from tbl_employee where id = #{id} </select> </mapper>
其中mapper标签的namespace属性设置的是需要映射的类全名;select标签表示查询语句,其中的id属性是该sql的唯一标识,resultType表示返回值的类型;然后在select标签中编写需要执行的sql语句。
一切准备就绪后,开始编写测试代码:
@Test void test() throws IOException { String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession session = sessionFactory.openSession(); Employee employee = session.selectOne("com.wwj.mybatis.bean.Employee.selectEmp",1); System.out.println(employee); session.close(); }
https://mp.weixin.qq.com/s/wmkRTbBjWMd-SDaJm6W-FA
故乡明
分类:
mybatis
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话