因上一章中写的列子不是很规范,接下来将介绍实现该功能的第二种形式,我这边尽量用代码来表达我的意思,理论有不清楚的可以参考官网文档:
http://mybatis.github.io/mybatis-3/zh/getting-started.html
namespace="X",x是这个类的实际地址
以下开拔各个文件代码:
1. configuration.xml
<?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> <typeAliases> <typeAlias alias="User" type="com.bugyun.mybatis.model.User"/> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://127.0.0.1:3306/test" /> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/bugyun/mybatis/model/UserMapper.xml"/> </mappers> </configuration>
2. UserMapper.xml
扫描二维码关注公众号,回复:
805274 查看本文章
<!-- 如果用第二种方式 namespace=“X” X=X。java类的地址 --> <mapper namespace="com.bugyun.mybatis.model.UserMapper"> <select id="selectUserInfo" parameterType="int" resultType="User"> select * from user where id = #{id} </select> </mapper>
3. UserMapper.java ( 这里面的方法 名要和 UserMapper.xml 里的 id 名称一一对应)
package com.bugyun.mybatis.model; public interface UserMapper { public User selectUserInfo(int i); }
4. Test.java
package com.bugyun.test; import java.io.Reader; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import com.bugyun.mybatis.model.User; import com.bugyun.mybatis.model.UserMapper; public class Test { private static SqlSessionFactory sqlSessionFactory; private static Reader reader; static { try { reader = Resources.getResourceAsReader("configuration.xml"); sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); } catch (Exception e) { e.printStackTrace(); } } public static SqlSessionFactory getSession() { return sqlSessionFactory; } public static void main(String[] args) { SqlSession session = sqlSessionFactory.openSession(); try { UserMapper userMapper = session.getMapper(UserMapper.class); User user = userMapper.selectUserInfo(1); System.out.println(user.getUserAddress()); System.out.println(user.getUserName()); } finally { session.close(); } }
详情见附件,有不清楚的请留言,谢谢!