mybatis之SqlMapConf.xml配置文件中「mappers」标签的使用

    技术2022-07-14  93

    mybatis之SqlMapConf.xml配置文件中标签的使用 1、SqlMapConf.xml与UserDao.xml都在resources目录下 (1)mapper标签:为resource方式; UserMapper.xml文件与SqlMapConf.xml放在同一目录下。

    <mappers> <mapper resource="UserDao.xml"></mapper> </mappers>

    (2)mapper标签:为package方式 UserMapper.xml文件与UserDao.java(接口)放在同一目录下。

    <mappers> <package name="com.xsd.dao"></package> </mappers>

    pom.xml文件中要加:

    <build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> <!--默认是true--> <!--<filtering>true</filtering>--> </resource> </resources> </build>

    mapper文件:

    <mapper namespace="test"> <select id="selectById" parameterType="Integer" resultType="com.xsd.domain.User"> select * from t_user where tu_id = #{tu_id} </select> </mapper>

    同包下的接口名与mapper.xml文件名一样,要同名。

    <mapper namespace="com.xsd.dao.UserDao"> <select id="selectById" parameterType="Integer" resultType="com.xsd.domain.User"> select * from t_user where tu_id = #{tu_id} </select> </mapper>

    jdbc接口调用之不同处:

    public class UserTest { @Test public void TestGetById() throws IOException { InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConf.xml"); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream); SqlSession sqlSession = sqlSessionFactory.openSession(); User user = sqlSession.selectOne("test.selectById", 6); System.out.println(user); } @Test public void testGetById() throws IOException { InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConf.xml"); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream); SqlSession sqlSession = sqlSessionFactory.openSession(); UserDao mapper = sqlSession.getMapper(UserDao.class); User user = mapper.selectById(6); System.out.println(user); } }

    注意: namespace=“test” namespace=“com.xsd.dao”

    测试类的调用不同: test.selectById mapper.class

    Processed: 0.009, SQL: 9