开启log4j
<!-- log4j日志 --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency>
<?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="%-5p %d{MM-dd HH:mm:ss,SSS} %m (%F:%L) \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>
1.定义mapper接口,接口为定义单词方法名
public interface UserMapper { /** * MyBatis面向接口编程的两个一致: * 1、映射文件的namespace要和mapper接口的全类名保持一致 * 2、映射文件中SQL语句的id要和mapper接口中的方法名一致 * * 表--实体类--mapper接口--映射文件 */ /** * 添加用户信息 */ int insertUser(); /** * 修改用户信息 */ void updateUser(); /** * 删除用户信息 */ void deleteUser(); /** * 根据id查询用户信息 */ User getUserById(); /** * 查询所有的用户信息 */ List<User> getAllUser(); }
2.定义mapper接口的映射文件,为xxx.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.atguigu.mybatis.mapper.UserMapper"> <!--int insertUser();--> <insert id="insertUser"> insert into t_user values(null,'admin','123456',23,'男','[email protected]') </insert> <!--void updateUser();--> <update id="updateUser"> update t_user set username = '张三' where id = 4 </update> <!--void deleteUser();--> <delete id="deleteUser"> delete from t_user where id = 5 </delete> <!--User getUserById();--> <!-- 查询功能的标签必须设置resultType或resultMap resultType:设置默认的映射关系 resultMap:设置自定义的映射关系 --> <select id="getUserById" resultType="com.atguigu.mybatis.pojo.User"> select * from t_user where id = 3 </select> <!--List<User> getAllUser();--> <select id="getAllUser" resultType="User"> select * from t_user </select> </mapper>
3.配置mybatis核心配置文件
<?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> <!-- MyBatis核心配置文件中,标签的顺序: properties?,settings?,typeAliases?,typeHandlers?, objectFactory?,objectWrapperFactory?,reflectorFactory?, plugins?,environments?,databaseIdProvider?,mappers? --> <!--引入properties文件--> <properties resource="jdbc.properties" /> <!--设置类型别名--> <typeAliases> <!-- typeAlias:设置某个类型的别名 属性: type:设置需要设置别名的类型 alias:设置某个类型的别名,若不设置该属性,那么该类型拥有默认的别名,即类名且不区分大小写 --> <!--<typeAlias type="com.atguigu.mybatis.pojo.User"></typeAlias>--> 这个只能设置某一个类的别名 <!--以包为单位,将包下所有的类型设置默认的类型别名,即类名且不区分大小写--> <package name="com.atguigu.mybatis.pojo"/> </typeAliases> <!-- environments:配置多个连接数据库的环境 属性: default:设置默认使用的环境的id --> <environments default="development"> <!-- environment:配置某个具体的环境 属性: id:表示连接数据库的环境的唯一标识,不能重复 --> <environment id="development"> <!-- transactionManager:设置事务管理方式 属性: type="JDBC|MANAGED" JDBC:表示当前环境中,执行SQL时,使用的是JDBC中原生的事务管理方式,事务的提交或回滚需要手动处理 MANAGED:被管理,例如Spring声明式事物 --> <transactionManager type="JDBC"/> <!-- dataSource:配置数据源 属性: type:设置数据源的类型 type="POOLED|UNPOOLED|JNDI" POOLED:表示使用数据库连接池缓存数据库连接 UNPOOLED:表示不使用数据库连接池 JNDI:表示使用上下文中的数据源 --> <dataSource type="POOLED"> <!--设置连接数据库的驱动--> <property name="driver" value="${jdbc.driver}"/> <!--设置连接数据库的连接地址--> <property name="url" value="${jdbc.url}"/> <!--设置连接数据库的用户名--> <property name="username" value="${jdbc.username}"/> <!--设置连接数据库的密码--> <property name="password" value="${jdbc.password}"/> </dataSource> </environment> <environment id="test"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <!--引入映射文件--> <mappers> <!--<mapper resource="mappers/UserMapper.xml"/>--> <!-- 以包为单位引入映射文件 要求: 1、mapper接口所在的包要和映射文件所在的包一致 2、mapper接口要和映射文件的名字一致 --> <package name="com.atguigu.mybatis.mapper"/> </mappers> </configuration>
4.测试
/** * SqlSession默认不自动提交事务,若需要自动提交事务 * 可以使用SqlSessionFactory.openSession(true); */ @Test public void testMyBatis() throws IOException { //加载核心配置文件 InputStream is = Resources.getResourceAsStream("mybatis-config.xml"); //获取SqlSessionFactoryBuilder SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder(); //获取sqlSessionFactory SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is); //获取SqlSession opensession设置自动提交 SqlSession sqlSession = sqlSessionFactory.openSession(true); //获取mapper接口对象 UserMapper mapper = sqlSession.getMapper(UserMapper.class); //测试功能 int result = mapper.insertUser(); //提交事务 //sqlSession.commit(); System.out.println("result:"+result); }
在核心配置文件中 设置别名和mapper的映射 在springboot中都是中在yml文件中配置的,所以只需要记mapper接口和mapper映射关系,和resulttype和resultmap这个是要详细记录的,然后还有参数
标签:mapper,--,接口,log4j,user,id,日志,junit From: https://www.cnblogs.com/dzs894330350/p/16726362.html