1、创建一个空白maven项目
2、添加依赖
< dependency>
< groupId> mysql< / groupId>
< artifactId> mysql- connector- java< / artifactId>
< version> 5.1 .47 < / version>
< / dependency>
< ! -- mybatis -- >
< dependency>
< groupId> org. mybatis< / groupId>
< artifactId> mybatis< / artifactId>
< version> 3.5 .4 < / version>
< / dependency>
< ! -- junit -- >
< dependency>
< groupId> junit< / groupId>
< artifactId> junit< / artifactId>
< version> 4.12 < / version>
< / dependency>
< dependency>
< groupId> log4j< / groupId>
< artifactId> log4j< / artifactId>
< version> 1.2 .17 < / version>
< / dependency>
3、在src目录下新建com.jl.domain目录,添加实体类
package com. jl. domain;
import java. io. Serializable;
public class User implements Serializable {
private int id;
private String name;
private String pwd;
public User ( ) {
}
public User ( int id, String name, String pwd) {
this . id = id;
this . name = name;
this . pwd = pwd;
}
public int getId ( ) {
return id;
}
public void setId ( int id) {
this . id = id;
}
public String getName ( ) {
return name;
}
public void setName ( String name) {
this . name = name;
}
public String getPwd ( ) {
return pwd;
}
public void setPwd ( String pwd) {
this . pwd = pwd;
}
@Override
public String toString ( ) {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", pwd='" + pwd + '\'' +
'}' ;
}
}
4、在src目录下新建com.jl.UserMapper目录,添加UserMapper接口
public interface UserMapper {
List< User> findAll ( ) ;
}
5、在resources下创建mappers目录,新建UserMapper.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 = " com.jl.mapper.UserMapper" >
< select id = " findAll" resultType = " user" >
select * from user
</ select>
</ mapper>
6、在resources配置mybatis.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.jl.domain" />
</ typeAliases>
< environments default = " development" >
< environment id = " development" >
< transactionManager type = " JDBC" />
< dataSource type = " POOLED" >
< property name = " driver" value = " com.mysql.jdbc.Driver" />
< property name = " url" value = " jdbc:mysql://localhost:3306/mybatis?useSSL=false& useUnicode=true& characterEncoding=utf8" />
< property name = " username" value = " root" />
< property name = " password" value = " root" />
</ dataSource>
</ environment>
</ environments>
< mappers>
< mapper resource = " mappers/UserMapper.xml" />
</ mappers>
</ configuration>
7、测试
public class MyTest {
private static SqlSessionFactory sqlSessionFactory;
static {
InputStream is = null;
try {
is = Resources. getResourceAsStream ( "mybatis.xml" ) ;
sqlSessionFactory = new SqlSessionFactoryBuilder ( ) . build ( is) ;
} catch ( IOException e) {
e. printStackTrace ( ) ;
} finally {
if ( is!= null) {
try {
is. close ( ) ;
} catch ( IOException e) {
e. printStackTrace ( ) ;
}
}
}
}
@Test
public void test ( ) {
SqlSession session = sqlSessionFactory. openSession ( ) ;
UserMapper mapper = session. getMapper ( UserMapper. class ) ;
List< User> userList = mapper. findAll ( ) ;
session. close ( ) ;
for ( User user : userList) {
System. out. println ( user) ;
}
}
}
8、加入log4j日志
### 设置###
log4j. rootLogger = debug, stdout, D, E
### 输出信息到控制抬 ###
log4j. appender. stdout = org. apache. log4j. ConsoleAppender
log4j. appender. stdout. Target = System. out
log4j. appender. stdout. layout = org. apache. log4j. PatternLayout
log4j. appender. stdout. layout. ConversionPattern = [ % - 5 p] % d{ yyyy- MM- dd HH: mm: ss, SSS} method: % l% n% m% n
### 输出DEBUG 级别以上的日志到= D: / / logs/ error. log ###
log4j. appender. D = org. apache. log4j. DailyRollingFileAppender
log4j. appender. D. File = D: / / logs/ debug. log
log4j. appender. D. Append = true
log4j. appender. D. Threshold = DEBUG
log4j. appender. D. layout = org. apache. log4j. PatternLayout
log4j. appender. D. layout. ConversionPattern = % - d{ yyyy- MM- dd HH: mm: ss} [ % t: % r ] - [ % p ] % m% n
### 输出ERROR 级别以上的日志到= E: / / logs/ error. log ###
log4j. appender. E = org. apache. log4j. DailyRollingFileAppender
log4j. appender. E. File = D: / / logs/ error. log
log4j. appender. E. Append = true
log4j. appender. E. Threshold = ERROR
log4j. appender. E. layout = org. apache. log4j. PatternLayout
log4j. appender. E. layout. ConversionPattern = % - d{ yyyy- MM- dd HH: mm: ss} [ % t: % r ] - [ % p ]
9、测试结果