mybatis配置(Maven Project )
环境搭建
1. Maven web工程
new→other→Maven Project(选上Create a simple project)
项目一建立就报错:
解决方法:
加入mybatis的依赖jar包:
在pom.xml里加入依赖
[1.]本地仓库里有下这个jar包,直接在pom.xml里右键→Maven→Add Dependency
[2.] mybatis的依赖引入基本有5个:
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.3</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.4</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.32</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
这5个依赖加入保存pom.xml后会有8个jar包
2. Maven Java 工程
new→other→Maven Project(选上Create a simple project)
加入mybatis的依赖jar包:
在pom.xml里加入依赖
[1.]本地仓库里有下这个jar包,直接在pom.xml里右键→Maven→Add Dependency
[2.] mybatis的依赖引入基本有5个:
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.3</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.4</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.32</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
这5个依赖加入保存pom.xml后会有8个jar包
配置文件的配置
1. mybatis-config.xml
src/main/resources目录下新建一个xml文件命名为mybatis-config.xml,在mybatis-config.xml里添加mybatis的必要配置:
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 配置开发环境 -->
<environments default="develop">
<environment id="develop">
<!-- 配置事务管理器 -->
<transactionManager type="JDBC"/>
<!-- 配置数据源(连接池),即连接池 JNDI/POOLED/UNPOOLED (JNDI:已过时,POOLED:使用连接池,UNPOOLED:不使用连接池) -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/db20?characterEncoding=utf-8"/>
<!-- 数据库的指定,我这里是数据库db20,数据库用户名为root,数据库密码为916437 -->
<property name="username" value="root"/>
<property name="password" value="916437"/>
</dataSource>
</environment>
</environments>
</configuration>
2. XXXMapper.xml
src/main/resources目录下新建一个xml文件命名为XXXMapper.xml
I.完成XXXMapper.xml的基本配置
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--
namespace一般指定为当前文件的所在包路径+文件名(将来是接口名)
在程序中通过[ namespace + id ]定位到执行哪一条SQL语句
-->
<mapper namespace="XXXMapper">
<select></select>
<update></update>
</mapper>
II.在mybatis-config.xml里导入XXXMapper.xml文件
<configuration>
<mappers>
<mapper resource="XXXMapper.xml"/>
</mappers>
</configuration>
3. log4j.properties
固定配置,作用是控制台打印日志
# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# 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%n
创建实体类pojo
创建测试类
下面的代码是重复使用的代码,可以另封装为一个工具类,也可就像下面写在测试类里全局变量static
/**
* 执行流程:
* 1.读取mybatis的核心配置文件(mybatis-config.xml)
* 2.通过配置信息获取一个SqlSessionFactory工厂对象
* 3.通过工厂获取一个SqlSession对象
* 4.通过namespace+id找到要执行的sql语句并执行sql语句
* 5.输出结果
*/
private static SqlSession session=null;
static {
try {
//1.读取mybaits核心配置文件(mybatis-config.xml)
InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
//2.通过配置获取一个SqlSessionFactory
SqlSessionFactory fac = new SqlSessionFactoryBuilder().build(in);
//3.通过工厂获取一个SqlSession对象(Connection)
session = fac.openSession();
} catch (Exception e) {
// TODO: handle exception
}
}