mybatis-config.xml文件配置

it2026-08-13  9

位置

位于src文件夹项目

要点

格式一定要正确,不要乱敲空格、换行等上半部分作用类似于jdbc.property文件,连接数据库driver对应的value查找:mysql-connector-java-5.1.47.jar/META-INF/services/java.sql.Driverurl对应的value: jdbc:mysql:///库名username和password则为数据库的用户名和密码mappers标签:实现mapper(等同于dao)的业务(3种方式) <mappers> <!--方式一:直接调用Mapper接口类--> <mapper class="com.company.dao.UserMapper"/> <!--方式二:直接调用mapper层--> <package name="com.company.mapper"/> <!--方式三:调用UserMapper.xml,类似于实现类--> <mapper resource="com/company/dao/UserMapper.xml"/> </mappers> 针对要点6的实现方式 针对方式一的实现: 注解——@业务的第一个单词(“sql语句”) 【注】?转为#{} <!--方式一--> public interface UserMapper { @Select("select * from user") List<User> selectAll(); @Select("SELECT id,username,birthday,sex,address FROM USER WHERE id = #{id}") User selectById(int id); @Insert("INSERT INTO USER (username, birthday, sex, address) VALUES (#{username}, #{birthday}, #{sex}, #{address})") void insert(User user); @Update("UPDATE USER SET username = #{username} , birthday = #{birthday} , sex = #{sex} , address = #{address} where id = #{id}") void update(User user); @Delete("DELETE FROM USER WHERE id = #{id}") void delete(User user); }

针对方式三的实现: namespace:UserMapper的相对路径 id:业务方法名 resultType:对象实体类的相对路径

<?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.company.dao.UserMapper"> <select id="selectAll" resultType="com.company.entity.User"> /*sql语句*/ select * from user </select> </mapper> 测试 针对每个业务进行test测试(最好学会debug查看测试) public void selectById() { /*创建工厂*/ SqlSessionFactory sqlSessionFactory = MybatisUtil.getSqlSessionFactory(); /*打开会话*/ SqlSession sqlSession = sqlSessionFactory.openSession(); /*获得mapper对象,传入接口类反射的对象*/ UserMapper mapper = sqlSession.getMapper(UserMapper.class); /*调用具体业务方法*/ User user = mapper.selectById(1); System.out.println(user); }
最新回复(0)