建立第一個Mybatis程式
阿新 • • 發佈:2022-03-05
建立第一個Mybatis程式
1、安裝mysql資料庫,開啟資料庫
2、開啟SQLyog,建立資料庫mybatis
CREATE DATABASE `mybatis`;
3、在資料庫中建立user表
USE `mybatis`;
CREATE TABLE `user`(
`id` INT(20) NOT NULL PRIMARY KEY,
`name` VARCHAR(30) DEFAULT NULL,
`pwd` VARCHAR(30) DEFAULT NULL
)ENGINE=INNODB DEFAULT CHARSET=utf8;
4、向user表中匯入資料
INSERT INTO `user`(`id`,`name`,`pwd`) VALUES (1,'狂神','123456'), (2,'張三','123056'), (3,'李四','123480')
5、執行當前查詢,並重新整理表,看是否匯入資料成功
6、開啟idea,建立一個普通的maven專案
7、刪除src目錄
8、在pom.xml(mybatis-study)中新增並匯入maven依賴
<!--匯入依賴--> <dependencies> <!--mysql驅動--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.46</version> </dependency> <!--mybatis--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.2</version> </dependency> <!--junit--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> </dependencies>
9、建立一個模組
-
編寫mybatis的核心配置檔案
1、進入mybatis3 官方文件,(mybatis – MyBatis 3 | 入門)點選入門,找到XMl配置檔案示例
2、在mybatis-01的resources檔案中建立一個XML檔案
3、將XMl配置檔案示例內容貼上到該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核心配置檔案--> <configuration> <!--environments:多套環境--> <!--default="development";預設選擇的環境--> <environments default="development"> <!--id="development":環境名--> <environment id="development"> <!--transactionManager:事務管理,JDBC--> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <!--四個變數--> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </dataSource> </environment> </environments> </configuration>
4、配置四個變數值
(1)driver值
com.mysql.jdbc.Driver
(2)url值
- 連線上MySQL資料庫
複製這個url值
jdbc:mysql://localhost:3306
貼上到value
選擇mybatis資料庫
設定安全連線
設定編碼
設定characterEncoding
jdbc:mysql://localhost:3306/mybatis?useSSL=false&useUnicode=true&characterEncoding=UTF-8
(3)使用者名稱
(4)密碼
-
編寫mybatis工具類
(1)建立一個包
(2)配置檔案
前往mybatis 3 官網文件(mybatis – MyBatis 3 | 入門),點選入門
找到Resources工具類的程式碼
複製貼上到剛才建立的MybatisUtils檔案中
static try catch
改resource路徑為resources目錄下的mybatis-config.xml
獲取SqlSession例項
public class MybatisUtils {
private static SqlSessionFactory sqlSessionFactory;
static {
try {
//使用Mybatis第一步:獲取sqlSessionFactory物件
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
//既然有了 SqlSessionFactory,顧名思義,我們可以從中獲得 SqlSession 的例項
//SqlSession 提供了在資料庫執行 SQL 命令所需的所有方法。你可以通過 SqlSession 例項來直接執行已對映的 SQL 語句
public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession();
}
}
10、編寫程式碼
- 實體類
Alt+Insert快速新增方法
- Dao介面
建立UserDao類,操縱實體類的實體
public interface UserDao {
List<User> getUserList();
}
- 介面實現類:由原來的UserDaolmpl轉變為一個Mapper配置檔案.
開啟mybatis 3官方文件(mybatis – MyBatis 3 | 入門),找到XML對映語句並複製貼上到該xml檔案
更改名稱空間為UserDao.java 的路徑
建立一個查詢語句
<?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.lcbin.dao.UserDao">
<!--查詢語句-->
<select id="getUserList" resultType="com.lcbin.pojo.User">
select * from mybatis.user
</select>
</mapper>
11、測試
測試哪個包就建那個包
public class UserDaoTest {
public void test(){
//第一步:獲得SqlSession物件
SqlSession sqlSession = MybatisUtils.getSqlSession();
//方式一:getMapper
UserDao userDao = sqlSession.getMapper(UserDao.class);
List<User> userList = userDao.getUserList();
for (User user : userList) {
System.out.println(user);
}
//關閉SqlSession
sqlSession.close();
}
}
因為每一個Mapper.xml都要在Mybatis核心配置檔案中註冊
所以我們還要進入mybatis-config.xml中新增如下程式碼
<mappers>
<mapper resource="com/lcbin/dao/UserMapper.xml"/>
</mappers>
進入pom.xml檔案中新增如下程式碼
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
執行UserDaoTest.java