JAVA Mybatic Access MSSQL

導入jar依賴
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc -->
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>7.0.0.jre8</version>java

</dependency>

在項目根目錄下建立Source Folder (resources)文件夾
在resources目錄下建立db.properties log4j.properties mybatis-config.xml
db.properties內容以下
driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
url=jdbc:sqlserver://172.26.205.1:1433;DatabaseName=EGSS_TEST
username=sa
password=1111111redis

log4j.properties內容以下sql

Global logging configuration

log4j.rootLogger=DEBUG, stdout,dailyRollingFile數據庫

MyBatis logging configuration...

log4j.logger.com.skcc.egss.dao.*=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%napache

File

log4j.appender.dailyRollingFile = org.apache.log4j.DailyRollingFileAppender
log4j.appender.dailyRollingFile.File = F:\javalog\logredis.log
log4j.appender.dailyRollingFile.Append = true
log4j.appender.dailyRollingFile.Threshold = DEBUG
log4j.appender.dailyRollingFile.layout = org.apache.log4j.PatternLayout
log4j.appender.dailyRollingFile.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %c.%M:%L %m%nsession

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">;mybatis

<configuration>
<!-- 指定 MyBatis 數據庫配置文件 -->
<properties resource="db.properties" />
<!-- 指定 MyBatis 所用日誌的具體實現 -->
<settings>
<setting name="logImpl" value="LOG4J" />
</settings>app

<!-- 環境配置,即鏈接的數據庫。 -->
<environments default="mssql">
    <!-- 環境配置,即鏈接的數據庫。 -->
    <environment id="mssql">
        <!-- 指定事務管理類型,type="JDBC"指直接簡單使用了JDBC的提交和回滾設置 -->
        <transactionManager type="JDBC" />
        <!-- dataSource指數據源配置,POOLED是JDBC鏈接對象的數據源鏈接池的實現。 -->
        <dataSource type="POOLED">
            <property name="driver" value="${driver}" />
            <property name="url" value="${url}" />
            <property name="username" value="${username}" />
            <property name="password" value="${password}" />
        </dataSource>
    </environment>
</environments>

<!-- mappers告訴了MyBatis去×××持久化類的映射文件 -->
<mappers>
    <mapper resource="com/skcc/egss/dao/EmpMapper.xml" />
</mappers>
<!-- mappers告訴了MyBatis去×××持久化類的映射類(註解形式) <mappers> <mapper class="cn.mybatis.mydemo6.mapper.ArticleMapper" 
    /> </mappers> -->

</configuration>ide

建立com.skcc.egss.dao包,並在該包下建立SqlSessionFactoryUtil.java EmpMapper.xml EmpDao.java
SqlSessionFactoryUtil.java內容以下
public class SqlSessionFactoryUtil {sqlserver

public static SqlSessionFactory getSqlSessionFactory() throws IOException {

    SqlSessionFactory sqlSessionFactory = null;
    try {
        InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
         sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return sqlSessionFactory;
}

}
EmpMapper.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">;
<mapper namespace="egss.empinfo">
<select id="selectEmpList" parameterType="java.util.Map" resultType="java.util.Map">
select top 5 *
from BASEUSERINFO
</select>
</mapper>
EmpDao.java內容以下
public class EmpDao {

public Logger logger = Logger.getLogger(EmpDao.class);

public List<Map<String, Object>> selectEmpList(Map<String, Object> map){
    logger.info("selectEmpList");
    try (SqlSession session=SqlSessionFactoryUtil.getSqlSessionFactory().openSession()){
        return session.selectList("egss.empinfo.selectEmpList", map);

    } catch (Exception e) {
        // TODO: handle exception
        System.out.println(e);
    }
    return null;

}

}br/>JUnit5進行測試@Testpublic void selectEmpList() throws Exception {List<Map<String, Object>> maps = new EmpDao().selectEmpList(null);if(maps != null ) {System.out.println("maps.size() : " + maps.size());System.out.println(maps);}else {System.err.println("no data");} }測試結果maps.size() : 1

相關文章
相關標籤/搜索