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