一文教會(huì)你用mybatis查詢數(shù)據(jù)庫(kù)數(shù)據(jù)
一、新建數(shù)據(jù)庫(kù)和表
建一個(gè)數(shù)據(jù)庫(kù)mybatis,建一個(gè)表person,然后填充一些數(shù)據(jù)(這里我是使用了圖形化工具Navicat for MySQL,就不寫原生的數(shù)據(jù)庫(kù)代碼了)



二、新建maven項(xiàng)目,添加mybatis依賴
新建一個(gè)maven項(xiàng)目,我以往文章有提到如何建一個(gè)maven項(xiàng)目,這里不多贅述:
添加依賴,在pom.xml文件上添加以下代碼
<dependencies>
<!-- 數(shù)據(jù)庫(kù)驅(qū)動(dòng) 版本不能亂用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>
<!-- 單元測(cè)試-->
<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>
三、新建實(shí)體類、接口(Mapper)
Person實(shí)體類
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 {
//查詢所有數(shù)據(jù)
public List<Person> getPerson();
}
四、新建實(shí)現(xiàn)類(使用.xml映射文件)
在resources目錄下新建一個(gè)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 : 和哪個(gè)接口有映射關(guān)系-->
<mapper namespace="mapper.PersonMapper">
<!--
select標(biāo)簽中的語(yǔ)句 需要和接口中哪個(gè)方法有映射關(guān)系
id : 接口中的方法名
resultType: 方法的返回類型(寫全類名)
-->
<select id="getPerson" resultType="entity.Person">
select * from person
</select>
</mapper>
五、新建全局配置文件(mybatis-config.xml)
在resources目錄下新建一個(gè)mybatis-config.xml文件
數(shù)據(jù)庫(kù)密碼(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">
<!--
接下里的配置也就是一個(gè)數(shù)據(jù)源配置
-->
<configuration>
<!-- environments 多環(huán)境配置
environment 配置數(shù)據(jù)源
transactionManager 事務(wù)管理器
dataSource 數(shù)據(jù)源
-->
<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>
<!-- 注冊(cè)映射 -->
<mappers>
<mapper resource="PersonMapper.xml"/>
</mappers>
</configuration>
六、編寫demo類,進(jìn)行測(cè)試查詢數(shù)據(jù)庫(kù)
1、讀取配置文件
2、根據(jù)配置文件構(gòu)建工廠
3、獲取會(huì)話
4、獲取Mapper對(duì)象
5、執(zhí)行方法
6、關(guān)閉會(huì)話
public class demo {
@Test
public void test2() throws IOException {
//讀取配置文件
InputStream resourceAsStream = Resources.getResourceAsStream("mybatis-config.xml");
//根據(jù)配置文件構(gòu)建工廠
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
//獲取會(huì)話
SqlSession sqlSession = sessionFactory.openSession();
//獲取Mapper對(duì)象
PersonMapper personMapper = sqlSession.getMapper(PersonMapper.class);
//執(zhí)行方法
List<Person> person = personMapper.getPerson();
System.out.println(person);
//關(guān)閉會(huì)話
sqlSession.close();
}
}
輸出結(jié)果

總結(jié)
到此這篇關(guān)于mybatis查詢數(shù)據(jù)庫(kù)數(shù)據(jù)的文章就介紹到這了,更多相關(guān)mybatis查詢數(shù)據(jù)庫(kù)數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java設(shè)計(jì)模式之模版方法模式簡(jiǎn)介
這篇文章主要介紹了Java設(shè)計(jì)模式之模版方法模式,需要的朋友可以參考下2014-07-07
詳解MyBatisPlus如何實(shí)現(xiàn)分頁(yè)和查詢操作
這篇文章主要為大家詳細(xì)介紹了MyBatisPlus是如何實(shí)現(xiàn)分頁(yè)和查詢操作的,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)有一定的幫助,需要的可以參考一下2022-05-05
JAVA熔斷和降級(jí)真實(shí)關(guān)系的圖文詳解
這篇文章主要介紹了Java熔斷和降級(jí)的關(guān)系,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09
Java實(shí)現(xiàn)的兩個(gè)線程同時(shí)運(yùn)行案例
這篇文章主要介紹了Java實(shí)現(xiàn)的兩個(gè)線程同時(shí)運(yùn)行,涉及java多線程相關(guān)操作與使用技巧,需要的朋友可以參考下2019-07-07
@Scheduled定時(shí)器使用注意事項(xiàng)及說明
這篇文章主要介紹了@Scheduled定時(shí)器使用注意事項(xiàng)及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08

