mybatis查询数据库数据
lichaohua! 人气:0一、新建数据库和表
建一个数据库mybatis,建一个表person,然后填充一些数据(这里我是使用了图形化工具Navicat for MySQL,就不写原生的数据库代码了)
二、新建maven项目,添加mybatis依赖
新建一个maven项目,我以往文章有提到如何建一个maven项目,这里不多赘述:
添加依赖,在pom.xml文件上添加以下代码
<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实体类
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接口
import entity.Person; import java.util.List; public interface PersonMapper { //查询所有数据 public List<Person> getPerson(); }
四、新建实现类(使用.xml映射文件)
在resources目录下新建一个PersonMapper.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"> <!-- 映射 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)写你自己的
<?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、关闭会话
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(); } }
输出结果
总结
加载全部内容