1. 程式人生 > >Mybatis 環境搭建配置

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();

}

}