MyBatis連接MySql數據庫


pom.xml中的坐標

<dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.48</version>
    </dependency>

 log4j.properties

log4j.rootLogger=DEBUG, stdout

# SqlMap logging configuration...
log4j.logger.com.ibatis=DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.cache.CacheModel=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientImpl=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.builder.xml.SqlMapParser=DEBUG
log4j.logger.com.ibatis.common.util.StopWatch=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG

# 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

mybatis-config.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>

         <!-- 自動掃描實體類起別名 -->
     <typeAliases>
         <package name="com.baizhi.dao"/>
     </typeAliases> 

     
    <!-- 數據庫環境設置 ,可以配置多個環境設置
                          屬性     default:指定當前使用的數據庫環境
    -->
    <environments default="db1">
        <!-- 一個數據庫環境的設置
             id     當前環境的唯一標識
         -->
        <environment id="db1">
            <!-- 事務控制機制
                 type:  JDBC  
                        MANAGER 交給第三方軟件處理事務
              -->
            <transactionManager type="JDBC"></transactionManager>
            
            <!-- 連接池設置
                 type : POOLED 使用數據庫連接池
                        UNPOOLED  不使用數據庫連接池         
             -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/alex?useUnicode=true&amp;characterEncoding=utf-8"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>    
    
    <mappers>
     
    <!-- 注冊所有mapper.xml -->
      <!--   <mapper resource="com/baizhi/dao/EmpDaoMapper.xml"/> -->
            <!-- 自動掃描包,自動注冊mapper.xml
                        要求 dao接口對應的xml文件,名字必須相同-->
                  <package name="com.baizhi.dao"/>
    </mappers> 
 
</configuration>

 

MyBatiusUtil

package com.baizhi.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.Reader;

public class MyBatisUtil {
    private static SqlSessionFactory ssf;
    static {
        try {
            //讀取主配置文件
            Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
            //創建sqlsessionfactory(sqlsession工廠)
            ssf = new SqlSessionFactoryBuilder().build(reader);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
    public static SqlSession getSqlSession() {
        //通過ssf獲取sqlsession
        SqlSession sqlSession = null;
        sqlSession = ssf.openSession();
        return sqlSession;
    }
    //先判斷sqlsession不是空再關
    public static void close(SqlSession sqlSession) {
        if(sqlSession!=null) {
            sqlSession.close();
        }
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM