一、新建数据库和表
建一个数据库mybatis,建一个表person,然后填充一些数据(这里我是使用了图形化工具Navicat for MySQL,就不写原生的数据库代码了)
二、新建maven项目,添加mybatis依赖
新建一个maven项目,我以往文章有提到如何建一个maven项目,这里不多赘述:
添加依赖,在pom.xml文件上添加以下代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
< dependencies > <!-- 数据库驱动 版本不能乱用5.1.47 --> < dependency > < groupId >mysql</ groupId > < artifactId >mysql-connector-java</ artifactId > < version >5.1.47</ version > </ dependency > <!-- mybatis --> < dependency > < groupId >org.mybatis</ groupId > < artifactId >mybatis</ artifactId > < version >3.4.6</ version > </ dependency > <!-- 单元测试--> < dependency > < groupId >junit</ groupId > < artifactId >junit</ artifactId > < version >4.13</ version > < scope >test</ scope > </ dependency > <!-- lombok--> < dependency > < groupId >org.projectlombok</ groupId > < artifactId >lombok</ artifactId > < version >1.18.10</ version > </ dependency > </ dependencies > |
三、新建实体类、接口(Mapper)
Person实体类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
package entity; public class Person { private int id; private String name; private int age; public Person() { } public Person( int id, String name, int age) { this .id = id; this .name = name; this .age = age; } public int getId() { return id; } public void setId( int id) { this .id = id; } public String getName() { return name; } public void setName(String name) { this .name = name; } public int getAge() { return age; } public void setAge( int age) { this .age = age; } @Override public String toString() { return "Person{" + "id=" + id + ", name='" + name + '\ '' + ", age=" + age + '}' ; } } |
PersonMapper接口
1
2
3
4
5
6
7
|
import entity.Person; import java.util.List; public interface PersonMapper { //查询所有数据 public List<Person> getPerson(); } |
四、新建实现类(使用.xml映射文件)
在resources目录下新建一个PersonMapper.xml文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<? 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"> <!-- 映射 namespace : 和哪个接口有映射关系--> < mapper namespace = "mapper.PersonMapper" > <!-- select标签中的语句 需要和接口中哪个方法有映射关系 id : 接口中的方法名 resultType: 方法的返回类型(写全类名) --> < select id = "getPerson" resultType = "entity.Person" > select * from person </ select > </ mapper > |
五、新建全局配置文件(mybatis-config.xml)
在resources目录下新建一个mybatis-config.xml文件
数据库密码(password)写你自己的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
<? 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 多环境配置 environment 配置数据源 transactionManager 事务管理器 dataSource 数据源 --> < environments default = "p1" > < environment id = "p1" > < transactionManager type = "JDBC" /> < dataSource type = "POOLED" > < property name = "driver" value = "com.mysql.jdbc.Driver" /> < property name = "url" value = "jdbc:mysql://localhost:3306/mybatis" /> < property name = "username" value = "root" /> < property name = "password" value = "123456" /> </ dataSource > </ environment > </ environments > <!-- 注册映射 --> < mappers > < mapper resource = "PersonMapper.xml" /> </ mappers > </ configuration > |
六、编写demo类,进行测试查询数据库
1、读取配置文件
2、根据配置文件构建工厂
3、获取会话
4、获取Mapper对象
5、执行方法
6、关闭会话
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
public class demo { @Test public void test2() throws IOException { //读取配置文件 InputStream resourceAsStream = Resources.getResourceAsStream( "mybatis-config.xml" ); //根据配置文件构建工厂 SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream); //获取会话 SqlSession sqlSession = sessionFactory.openSession(); //获取Mapper对象 PersonMapper personMapper = sqlSession.getMapper(PersonMapper. class ); //执行方法 List<Person> person = personMapper.getPerson(); System.out.println(person); //关闭会话 sqlSession.close(); } } |
输出结果
总结
到此这篇关于mybatis查询数据库数据的文章就介绍到这了,更多相关mybatis查询数据库数据内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/weixin_46816383/article/details/123718795