Mybatis的配置以及增删改查
1.添加mybatis的依赖
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.18</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
</dependency>
</dependencies>
2.对核心文件(mybatis-config.xml)进行配置
2.1数据库的配置文件
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
username=root
password=admin
2.2核心配置文件
<?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>
<!--引入数据库中的配置文件-->
<properties resource="aaa.properties"/>
<typeAliases>
<!--
typeAlias:设置某个类型别名
属性:
type:设置需要设置的类型的别名
alias:设置某个类型的别名,如果不进行设置,默认为类的别名,不区分大小写
<typeAlias type="org.example.po.User" alias="User"></typeAlias>
-->
<!--最常用的方式,将包下的所有的类都设置为别名-->
<package name="org.example.po"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<!--<mapper resource="mappers/UserMapper.xml"/>-->
<!--
直接将所有的映射文件引入进来
1.mapper接口所在的包与映射文件的包名字一致
2.mapper接口的名字与映射文件一致
-->
<package name="org.example.mapper"/>
</mappers>
</configuration>
3.对映射文件进行配置(对数据库的操作主要在此完成)
<?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="org.example.mapper.UserMapper">
<insert id="insertUser">
insert into user values(null,'张三','1234',12,'男','9876877@qq.com')
</insert>
<update id="updateUser">
update user set username='李四' where id=3
</update>
<delete id="deleteUser">
delete from user where id=2
</delete>
<select id="getUserId" resultType="org.example.po.User">
select * from user where id=1
</select>
<select id="getAllUser" resultType="user">
select *from user
</select>
</mapper>
4.类的接口
public interface UserMapper {
/**
* mybatis面向接口编程中的两个一致
* 1.映射文件中的namespace与mapper接口中全类名保持一致
* 2.映射文件中的SQL语句中的id要与mapper接口中的方法名保持一致
*/
int insertUser();
void updateUser();
void deleteUser();
User getUserId();
List<User> getAllUser();
}
5.测试类中的内容
@Test
public void testAdd() throws IOException {
//加载核心配置文件
InputStream is= Resources.getResourceAsStream("mybatis-config.xml");
//获取SqlSessionFactoryBuilder
SqlSessionFactoryBuilder sqlSessionFactoryBuilder=new SqlSessionFactoryBuilder();
//获取sqlSessionFactory
SqlSessionFactory sessionFactory=sqlSessionFactoryBuilder.build(is);
//获取SqlSeeion
SqlSession sqlSession=sessionFactory.openSession(true);
//获取mapper接口对象
UserMapper mapper=sqlSession.getMapper(UserMapper.class);
//测试功能
int result=mapper.insertUser();
//提交事务
//sqlSession.commit();
System.out.println("result:"+result);
}
6.log4j配置文件中的内容
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/' >
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<param name="Encoding" value="UTF-8"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" />
</layout>
</appender>
<logger name="java.sql">
<level value="debug"/>
</logger>
<logger name="org.apache.ibatis">
<level value="info"/>
</logger>
<root>
<level value="debug"/>
<appender-ref ref="STDOUT"/>
</root>
</log4j:configuration>
7.项目中的总体结构


