下载Jar包,这是我们所准备的jar包
如果要自行下载,以下是下载地址
创建一个动态网站,将所需要的jar包导入
方便mybatis的学习我们做如下操作
创建MyBatis核心配置文件configuration.xml
在项目工程下新建Source Folder类型的resources目录,并在此目录下添加MyBatis的核心配置文件,默认文件名为configuration.xml,但实际中我们一般将此文件命名为mybatis-config.xml。该文件需要配置数据库连接信息和MyBatis参数
创建xml
Mybatis-config.xml文件内容
文件内容
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
获取数据库连接实例的数据源(DataSource)和决定事务作用域和控制方式的事务管理器(TransactionManager)
-->
创建持久化类(POJO)和SQL映射文件
创建user用户表的POJO类
private Integer id;
private String userCode;//用户编码
private String userName;//用户名称
private String userPassword;//用户密码
private Integer gender;//性别
private Date birthday;//出生日期
private String phone;//电话
private String address;//地址
private Integer userRole;//用户角色
private Integer createdBy;//创建者
private Date creationDate;//创建时间
private Integer modifyBy;//更新者
private Date modifyDate;//更新时间
依据mybatis-config.xml中此处的配置
我们创建对应的文件,编写对应的内容
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
select count(1) as count from s_user
准备数据库和数据表及对应的数据
CREATE TABLE `s_user` (
`id` int(11) DEFAULT NULL,
`user_code` varchar(100) DEFAULT NULL,
`user_name` varchar(100) DEFAULT NULL,
`user_password` varchar(100) DEFAULT NULL,
`gender` int(11) DEFAULT NULL,
`birthday` datetime DEFAULT NULL,
`phone` varchar(100) DEFAULT NULL,
`address` varchar(100) DEFAULT NULL,
`user_role` int(11) DEFAULT NULL,
`create_by` int(11) DEFAULT NULL,
`creation_date` datetime DEFAULT NULL,
`modify_by` int(11) DEFAULT NULL,
`modify_date` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into `s_user`(`id`,`user_code`,`user_name`,`user_password`,`gender`,`birthday`,`phone`,`address`,`user_role`,`create_by`,`creation_date`,`modify_by`,`modify_date`) values
(1,'001','张三','123456',0,'2019-04-15 15:55:00','12345674567','地址',0,1,'2019-04-15 15:55:58',1,'2019-04-15 15:56:06');
创建jdbc.properties
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mbtest
username=root
password=
创建jdbc.properties
### 设置###
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 = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
### 输出DEBUG 级别以上的日志到=E://logs/error.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = E://logs/log.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 =E://logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
创建测试类
package com.test.test;
import java.io.IOException;
import java.io.InputStream;
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 com.sun.media.jfxmedia.logging.Logger;
/**
* @author wzy
* @version 创建时间:2019年4月15日 下午3:59:51
* @ClassName 类名称
* @Description 类描述
*/
public class TestMyBatis {
public static void main(String[] args) {
testBaseEnv();
}
//测试基础环境
private static void testBaseEnv() {
String resource = "mybatis-config.xml";
InputStream inputStream;
SqlSession sqlSession = null;
try {
//MyBatis 包含一个名叫 Resources 的工具类,它包含一些实用方法,可使从 classpath 或其他位置加载资源文件
inputStream = Resources.getResourceAsStream(resource);
//SqlSessionFactoryBuild来创建一个SqlSessionFactory实例
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder()
.build(inputStream);
sqlSession = sqlSessionFactory.openSession();
int count = sqlSession.selectOne(
"com.test.xml.UserMapper.count");
System.out.print("count is " + count);
} catch (IOException e) {
e.printStackTrace();
}finally {
if(null!=sqlSession) {
sqlSession.close();
}
}
}
}
运行程序查看结果