1.porm.xml配置
使用mybatis进行数据的操作时,首先需要对prom.xml的进行一定的文件配置:
dependencies 是作为导入maven导入jar包的地方,首先需要将 mybatis 的 jar包地址导入到porm.xml中,也就是在这里:
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
</dependencies>
在进行了jar包地址的复制之后,还需要到下进行添加,用于寻找工程文件中的xml配置文件
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
此时porm.xml的相关配置进行完毕,接着可以进行另外的配置
2.mybatis-configration.xml配置
首先新建一个 mapper 文件夹,里面存放 userMapper.xml 配置文件,以及在 resources 文件夹中新建一个 mybatis-configuration.xml 文件,进行 mybatis 的相关配置
在 mybatis-configuration.xml 文件中,主要是进行连接数据库的相关设置,类似于之前的DBUtil,此处放使用例:
<?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>
<!--开启数据库驼峰规则匹配,可以读取带下划线的数据名称-->
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
<!--启用日志-->
<setting name="logImpl" value="LOG4J"/>
</settings>
<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://127.0.0.1:3306/mybase?useUnicode=true&characterEncoding=UTF8&useSSL=false&serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="1234"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="project/mapper/userMapper.xml"/>
</mappers>
</configuration>
3.mapper.xml配置
在进行此配置之后,进行 userMapper.xml 配置,在此处主要是进行数据库的增删查改的相关语句的配置,其中需要注意的是:
mybatis的增、删、改是属于事务,需要在执行语句之后进行 commit 确认提交
<?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="project.mapper.userMapper">
<!--<select id="findBook" parameterType="int" resultType="bean.TBook">select * from t_book where pk_id =#{id}</select>-->
<select id="showAll" resultType="project.bean.TInsect">
select * from t_insect;
</select>
<select id="showOne" parameterType="String" resultType="project.bean.TInsect">
select * from t_insect where insect = #{insectName}
</select>
<insert id="addInsect" parameterType="project.bean.TInsect">
insert into t_insect (insect,host,danger) value(#{insect},#{host},#{danger})
</insert>
</mapper>
4.进行log4j配置(控制台打印日志
关于 log4j 的配置
log4j也是属于外部导入的包,也可以用maven进行jar包的管理,但是还需要在 resource 中加入相关的配置文件
log4j.rootLogger=DEBUG,Console
log4j.logger.project.mapper=TRACE
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
log4j.logger.org.apache=INFO
注意,第二行的紫色部分需要填写你的mapper文件夹路径
5.进行测试
关于测试类,在事先建好的 java 测试文件夹中新建一个test类即可进行测试
public class test {
SqlSession sqlSession = null;
//注意:此处logger导包有可能导入其他的logger包,此处的logger实际上属于log4j
Logger logger = Logger.getLogger(test.class);
//新建一个初始化
@Before
public void init(){
String resource = "mybatis-configuration.xml";
InputStream is = this.getClass().getClassLoader().getResourceAsStream(resource);
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
sqlSession = factory.openSession();
}
//测试类
@Test
public void add(){
String str = "project.mapper.userMapper.addInsect";
TInsect t = new TInsect();
t.setDanger("要吃人");
t.setHost("红木");
t.setInsect("杀人蜂");
sqlSession.selectOne(str,t);
sqlSession.commit();
sqlSession.close();
}
}