導入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
log4j.rootLogger=DEBUG, stdout,dailyRollingFile數據庫
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%napache
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