1.pom文件
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
2.配置文件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>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver" />
<property name="url"
value="jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true" />
<property name="username" value="root" />
<property name="password" value="123456" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/testmybatis/dao/TestMapper.xml" />
</mappers>
</configuration>
3.接口
package com.testmybatis.dao;
import java.util.List;
import com.testmybatis.model.Test;
public interface TestMapper {
public List<Test> find(Test test);
}
<?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="com.testmybatis.dao.TestMapper">
<select id="find" resultType="com.testmybatis.model.Test">
select * from test where name=#{name};
</select>
</mapper>
4.查询
String resource = "com/testmybatis/mybatis-config.xml";
InputStream inputStream;
try {
inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session = sqlSessionFactory.openSession();
try {
TestMapper mapper = session.getMapper(TestMapper.class);
Test t=new Test();
t.setName("adb");
List<Test> list=mapper.find(t);
session.commit();
System.out.println(JSON.toJSONString(list));
} finally {
session.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
5.结果
2018-08-07 11:51:30 DEBUG [org.apache.ibatis.logging.LogFactory] Logging initialized using 'class org.apache.ibatis.logging.log4j.Log4jImpl' adapter.
2018-08-07 11:51:30 DEBUG [org.apache.ibatis.datasource.pooled.PooledDataSource] PooledDataSource forcefully closed/removed all connections.
2018-08-07 11:51:30 DEBUG [org.apache.ibatis.datasource.pooled.PooledDataSource] PooledDataSource forcefully closed/removed all connections.
2018-08-07 11:51:30 DEBUG [org.apache.ibatis.datasource.pooled.PooledDataSource] PooledDataSource forcefully closed/removed all connections.
2018-08-07 11:51:30 DEBUG [org.apache.ibatis.datasource.pooled.PooledDataSource] PooledDataSource forcefully closed/removed all connections.
2018-08-07 11:51:30 DEBUG [org.apache.ibatis.transaction.jdbc.JdbcTransaction] Opening JDBC Connection
2018-08-07 11:51:31 DEBUG [org.apache.ibatis.datasource.pooled.PooledDataSource] Created connection 22756955.
2018-08-07 11:51:31 DEBUG [org.apache.ibatis.transaction.jdbc.JdbcTransaction] Setting autocommit to false on JDBC Connection [com.mysql.cj.jdbc.ConnectionImpl@15b3e5b]
2018-08-07 11:51:31 DEBUG [com.testmybatis.dao.TestMapper.find] ==> Preparing: select * from test where name=?;
2018-08-07 11:51:31 DEBUG [com.testmybatis.dao.TestMapper.find] ==> Parameters: adb(String)
2018-08-07 11:51:31 DEBUG [com.testmybatis.dao.TestMapper.find] <== Total: 1
[{"id":1,"name":"adb"}]
2018-08-07 11:51:31 DEBUG [org.apache.ibatis.transaction.jdbc.JdbcTransaction] Resetting autocommit to true on JDBC Connection [com.mysql.cj.jdbc.ConnectionImpl@15b3e5b]
2018-08-07 11:51:31 DEBUG [org.apache.ibatis.transaction.jdbc.JdbcTransaction] Closing JDBC Connection [com.mysql.cj.jdbc.ConnectionImpl@15b3e5b]
2018-08-07 11:51:31 DEBUG [org.apache.ibatis.datasource.pooled.PooledDataSource] Returned connection 22756955 to pool.