日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一. MyBatis系列:第一个MyBatis工程

發布時間:2025/3/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一. MyBatis系列:第一个MyBatis工程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文將使用最小化配置及代碼來開發一個MyBatis示例,以此來了解我們要開發一個MyBatis項目所需要的最小資源。

開發環境

Eclipse Java EE: Luna Release (4.4.0)

JDK: java v 1.8.x

MyBatis:3.2.8

MySQL:5.6.15

?

MyBatis 3.2.8 依賴的 jar 包可以在? http://mvnrepository.com/artifact/org.mybatis/mybatis/3.2.8?處發現和下載

導入jar包的說明:

mybatis(必需):mybatis 組件包

junit(可選):用于支持編寫單元測試

mysql-connector-java(必選):用于連接目標數據庫的jdbc驅動包

commons-loggin, log4j(可選):用于顯示mybatis運行時的日志輸出

pom.xml 依懶包配置

<dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.2.8</version> </dependency> <dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version> </dependency> <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.35</version> </dependency> <dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.1.1</version> </dependency> <dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version> </dependency>

工程目錄結構

本文中所使用的是 Maven 工程項目,也可以使用本地 jar 包導入工程;

User.java 為實體模型類

MybatisFirstTest.java 為單元測試類

mapper/user.xml? 為實體mapper映射文件

log4j.properties 為日志輸出配置文件

MybatisConfig.xml 為MyBatis的全局配置文件

數據庫表結構

CREATE TABLE `user` (`id` int(11) NOT NULL AUTO_INCREMENT,`username` varchar(32) NOT NULL,`birthday` date DEFAULT NULL,`sex` char(1) DEFAULT NULL,`address` varchar(256) DEFAULT NULL,PRIMARY KEY (`id`) );

MyBatisConfig.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"><!-- 配置該工程所使用的事務管理器類型,JDBC 為 JdbcTransactionFactory.class 的別名 --><transactionManager type="JDBC" /><!-- 配置數據源類型, POOLED 為 PooledDataSourceFactory.class 的別名 --><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><!-- 配置工程所使用的 User 的 Mapper 映射文件路徑 --><mapper resource="mapper/user.xml"/></mappers> </configuration>

為了能輸出日志,還需配置 log4j.properties

# Global logging configuration log4j.rootLogger=DEBUG, stdout # Console output... log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

User 實體模型類

public class User {public int id;public String username;public Date birthday;public String sex;public String address; }

User.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="test"><select id="getUserById" parameterType="int" resultType="cn.xleos.mybatisfirst.po.User">SELECT * FROM user WHERE id = #{value}</select> </mapper>

單元測試代碼

package cn.xleos.mybatisfirst.test;import java.io.InputStream; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.Before; import org.junit.Test;import cn.xleos.mybatisfirst.po.User;public class MybatisFirstTest {private SqlSessionFactory sqlSessionFactory; @Beforepublic void setUp() throws Exception {// 1. 讀取 MybatisConfig.xml 自定義命名的全局配置文件.// getResourceAsStream 使用的資源路徑// getUrlAsStream 使用的是文件路徑InputStream inputStream = Resources.getResourceAsStream("MybatisConfig.xml");// 2. 使用sqlSession的工廠構造器來讀入全局配置,再生成一個sqlSession工廠.sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);}@Testpublic void getUserByIdTest() {// 3. 通過 sqlSession 工廠打開一個 sqlSessionSqlSession sqlSession = sqlSessionFactory.openSession();try {// 4. 使用 selectOne 來調用 user.xml 配置中的(命名空間+statementId) text.getUserById 節的SQL語句// 并傳入簡單類型參數值 1User user = sqlSession.selectOne("test.getUserById", 1);System.out.println(user);}finally{sqlSession.close();}} }

以下是單元測試日志輸出,可以方便的查看MyBatis所產生的SQL腳本,以及數據庫連接的狀態;

DEBUG [main] - Opening JDBC Connection DEBUG [main] - Created connection 660143728. DEBUG [main] - Setting autocommit to false on JDBC Connection [com.mysql.jdbc.JDBC4Connection@2758fe70] DEBUG [main] - ==> Preparing: SELECT * FROM user WHERE id = ? DEBUG [main] - ==> Parameters: 1(Integer) DEBUG [main] - <== Total: 1 User [id=1, username=王五, birthday=null, sex=2, address=null] DEBUG [main] - Resetting autocommit to true on JDBC Connection [com.mysql.jdbc.JDBC4Connection@2758fe70] DEBUG [main] - Closing JDBC Connection [com.mysql.jdbc.JDBC4Connection@2758fe70] DEBUG [main] - Returned connection 660143728 to pool.

?

轉載于:https://www.cnblogs.com/xialiang/p/4565145.html

總結

以上是生活随笔為你收集整理的一. MyBatis系列:第一个MyBatis工程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。