Mybatis 環境搭建配置
1.pom.xml檔案新增依賴
<!-- mybatis jar 包依賴 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.1</version> </dependency> <!-- 資料庫驅動 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.39</version> </dependency> <!-- log4j日誌列印 --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.16</version> </dependency> |
2.pom.xml設定資原始檔夾路徑
<build> <resources> <resource> <directory>src/main/resources</directory> </resource> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> <include>**/*.tld</include> </includes> <filtering>false</filtering> </resource> </resources> </build> |
3.在 src/main/resources 資源包下新增 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 |
4.resources 目錄下主配置檔案新增
新建 mybatis.xml 檔案, 並加入配置資訊如下(資料庫名mybatis,表 user)
<?xml version="1.0" encoding="UTF-8" ?> <!-- mybatis 框架標頭檔案宣告,類似spring環境,均需要加入標頭檔案 --> <!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"> <!-- 加入事務控制 --> <transactionManager type="jdbc" /> <!-- 配置資料庫連線資訊 --> <dataSource type="pooled"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://127.0.0.1:3306/xinyue" /> <property name="username" value="root" /> <property name="password" value="123456" /> </dataSource> </environment> </environments> <!-- mapper 配置檔案指定 檔案數量可配置多個--> <mappers> <mapper resource="com/shsxt/mapper/UserMapper.xml" /> </mappers> </configuration> |
5.對映檔案新增
新建 UserMapper.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"> <!-- 1.名稱空間配置 全域性唯一 包名+檔名 2.配置Mapped Statement 3. statement配置 id 值宣告statement編號 同一名稱空間(同一檔案)下不可重複 parameterType 輸入引數即佔位符的資料型別 型別可以是 基本資料型別,字串,java bean ,map,list等 resultType 輸出結果 型別可以是基本資料型別,字串,java bean,map等 statement 描述 即待執行的sql #{id} 佔位符 變數名為id/value 均可 ${value} 變數名必須為value 字串拼接形式 無法避免sql 注入 --> <mapper namespace="com.shsxt.mapper.UserMapper"> <select id="queryUserById" parameterType="int" resultType="com.shsxt.po.User"> /* id,uname是所查表的屬性,as後的重新命名 要與實體類一致*/ select id ,uname as userName,upwd as userPwd from user where id=#{id} </select> <!-- <update id=""></update> <insert id=""></insert> <delete id=""></delete>--> </mapper> |
6.測試
package com.shsxt; import com.shsxt.po.User; 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.Test; import java.io.IOException; import java.io.InputStream; /** * Created by xlf on 2018/9/10. */ public class TestMyBatis { @Test public void test01() throws IOException { /** a)、讀取mybatis的配置檔案 b)、載入配置檔案建立SqlSessionFactory c)、根據SqlSessionFactory建立SqlSession d)、通過sqlSession操作資料庫 e)、處理結果 f)、關閉session */ // 讀取配置檔案 InputStream is = Resources.getResourceAsStream("mybatis.xml"); //建立會話工廠 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is); //is後面可以加上指定環境(其他資料來源) // 建立session SqlSession sqlSession = sqlSessionFactory.openSession(); // 操作資料庫 User user = sqlSession.selectOne("com.shsxt.mapper.UserMapper.queryUserById",6); System.out.println(user); // 關閉session sqlSession.close(); } } |