MyBatis環(huán)境搭建

官網(wǎng)下載Mybatis框架

https://mybatis.org/mybatis-3/zh/getting-started.html


編寫MyBatis核心配置文件

<?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>

<!--2.配置MyBatis框架的運(yùn)行環(huán)境-->

? ? <environments default="development">

? ? ? ? <environment id="development">

? ? ? ? ? ? <!--配置事務(wù)管理器,采用JDBC事務(wù),由應(yīng)用自行管理事務(wù)-->

? ? ? ? ? ? <transactionManager type="JDBC"/>

? ? ? ? ? ? <!--配置數(shù)據(jù)源,POOLED:MyBatis提供的數(shù)據(jù)源,JNDI:JNDI數(shù)據(jù)源-->

? ? ? ? ? ? <dataSource type="POOLED">

? ? ? ? ? ? ? <property name="driver" value="com.mysql.jdbc.Driver"/>

? ? ? ? ? ? ? ? <property name="url" value="jdbc:mysql://127.0.0.1:3306/conveniencestoresanagementsystem?useUnicode=true&amp;characterEncoding=utf8&amp;serverTimezone=Asia/Shanghai"/>

? ? ? ? ? ? ? ? <property name="username" value="root"/>

? ? ? ? ? ? ? ? <property name="password" value="root"/>

? ? ? ? ? ? </dataSource>

? ? ? ? </environment>

</environments>

<!-- 指定映射配置文件的位置,映射配置文件指的是每個dao獨(dú)立的配置文件 -->

? ? <mappers>

? ? ? ? <mapper resource="com/mapper/SysUSerMapper.xml"/>

? ? </mappers>

</configuration>


編寫MyBatis工具類

package com.util;

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 java.io.IOException;

import java.io.InputStream;

public class MyBatisUtil {

? ? //核心配置文件路徑

? ? private static String CONFIG_FILE = "mybatis-config.xml";

//SqlSession工廠

? ? private static SqlSessionFactory factory;

//加載核心配置文件路徑并初始化SqlSession工廠

? static {

? ? ? try {

? ? ? ? ? InputStream stream = Resources.getResourceAsStream(CONFIG_FILE);

? ? ? ? ? factory = new SqlSessionFactoryBuilder().build(stream);

? ? ? } catch (IOException e) {

? ? ? ? ? e.printStackTrace();

? ? ? }

? ? }

//根據(jù)SqlSession工廠獲取SqlSession對象

? public static SqlSession getSqlSession(){

? ? ? return factory.openSession();

? ? }

//關(guān)閉SqlSession鏈接

? ? public static void close(SqlSession sqlSession){

? ? ? if (sqlSession!=null){

? ? ? ? ? sqlSession.close();

? ? ? }

? ? }

}


編寫dao接口

package com.dao;

public interface SysUserDao {

? ? //查詢用戶數(shù)量

? ? public int count();

}


編寫mapper映射文件

<?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:表示抽象類地址

select:表示查詢

id:表示抽象類方法名稱

resultType:表示返回值類型

-->

<mapper namespace="com.dao.SysUserDao">

? ? <select id="count" resultType="int">

? ? ? ? select count(*) from `t_sys_user`

? ? </select>

</mapper>


編寫測試類

package com.dao;

import com.util.MyBatisUtil;

import org.apache.ibatis.session.SqlSession;

import org.junit.jupiter.api.Test;

import java.util.List;

class SysUserDaoTest {

? ? @Test

? ? void count() {

? ? ? ? //獲取SqlSession鏈接

? ? ? ? SqlSession sqlSession = MyBatisUtil.getSqlSession();

? ? ? ? //同過SqlSession映射SysUserDao

? ? ? ? SysUserDao mapper = sqlSession.getMapper(SysUserDao.class);

? ? ? ? //執(zhí)行SysUserDao并返回結(jié)果

? ? ? ? System.out.println("mapper.count() = " + mapper.count());

? ? ? ? //關(guān)閉鏈接

? ? ? ? sqlSession.close();

? ? }

}

返回結(jié)果


java伴侶

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容