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

Mybatis 環境搭建

驅動 文件 environ 重復 import static nfa connector source

Mybatis框架是:定制SQL,存儲過程,高級映射,的持久層框架,用於替代JDBC進行對數據庫進行相關的操作

第一步: 引入相關的jar包

其中包括mybatis-libs\mybatis-3.4.0.jar和mysql-libs\mysql-connector-java-5.1.39.jar

第二步:創建mybatis-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!-- MyBatis的核心配置文件 -->
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- 核心文件做了什麽事情?
1.配置連接數據庫的信息
2.加載映射文件
-->
<configuration>
<!-- 加載時 default 默認啟動的加載的數據庫信息 id不允許重復-->
<environments default="development">
<environment id="development">
<!-- 配置事務管理器,請查閱幫助文檔 -->
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<!-- 加載的驅動類 -->
<property name="driver" value="com.mysql.jdbc.Driver" />
<!-- 數據庫連接信息 -->
<property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis" />
<!-- 用戶名 -->
<property name="username" value="root" />
<!-- 密碼 -->
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
<!-- 加載映射文件 用mybatis-config.xml控制userMapper.xml文件 -->
<mappers>
<mapper resource="com/wangchao/model/UserMapper.xml"/>
</mappers>
</configuration>

第三步:配置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">
<!-- namespace相當於包名不允許重復 使用#獲取到值,會自動編譯 成類似 ‘值’的形式 利用接口的方式 需要使id的名字與接口內方法的名字完全相同 -->
<mapper namespace="com.wangchao.model.User">
<!--獲取結果集市list -->
<select id="list" resultType="map">
select * from user
</select>
<!-- 獲取結果集是單獨map 當參數就一個值時 #{id} 中的值可以隨意寫-->
<select id="load" parameterType="int" resultType="map">
select * from user where id =#{id}
</select>
<!-- 傳遞值是map -->
<select id="load_map" parameterType="map" resultType="map">
select * from user where id = #{id} and user_name=#{userName}
</select>

<!-- 添加的操作 傳遞的參數類型是map-->
<insert id="add" parameterType="map">
insert into user (account,password,user_name) values (#{account},#{password},#{userName})
</insert>
</mapper>

第四步:創建sqlSession

package com.wangchao.util;

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;
public final class MyBatisUtils
{

private static SqlSessionFactory factory = null;
private static InputStream inputStream = null;
/** 核心配置文件所在位置 */
private final static String PATH = "mybatis-config.xml";

// 靜態代碼塊
static
{

try
{
/** 讀取核心配置文件 */
inputStream = Resources.getResourceAsStream(PATH);
/** 獲取SqlSessionFactory */
factory = new SqlSessionFactoryBuilder().build(inputStream);
}
catch (Exception ex)
{// 捕獲並處理
// logger.debug("加載文件異常,異常信息為:" + ex.getMessage());
throw new RuntimeException("加載文件異常,異常信息為:" + ex.getMessage());
}
}

/**
* 關閉資源SqlSession
*/
public static void closeSqlSession(SqlSession sqlSession)
{
if (sqlSession != null)
{
sqlSession.close();
}
}

/**
* 獲取SqlSession
* @return SqlSession
*/
public static SqlSession getSqlSession()
{
return factory.openSession();
}

// 不能進行實例化操作
private MyBatisUtils()
{
}

}

Mybatis 環境搭建