首先是数据源的配置,内容如下:
<?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> <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://localhost/test" /> <property name="username" value="root" /> <property name="password" value="root" /> </dataSource> </environment> </environments> <mappers> <mapper resource="com/mybatis/lin/user.xml" /> </mappers> </configuration>
接下来是mapper的配置:
<?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.mybatis.lin.UserMapper"> <!-- 下面这段代码可有可无,如果没有的话可以在mapper类中通过注解的方式实现 --> <select id="getUser" parameterType="java.lang.String" resultType="com.mybatis.lin.User"> select * from account where username = #{username} </select> </mapper>
下面是Java类,bean如下:
package com.mybatis.lin; public class User { private int id; private String username; private String password; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
Mapper接口如下:
package com.mybatis.lin; import org.apache.ibatis.annotations.Select; public interface UserMapper { /** * @Select("select * from account where username = #{username}")可有可无,如果在mapper resource文件中已经存在,可以去掉 * @param username * @return */ // @Select("select * from account where username = #{username}") User getUser(String username); }
测试类如下:
package com.mybatis.lin; 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; public class Test { public static void main(String args[]) throws Exception { //读取数据源配置 Reader reader = Resources.getResourceAsReader("dataResource.xml"); //build SqlSessionFactory实例 SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder().build(reader); //获取SqlSession SqlSession session = sqlMapper.openSession(); //获取Mapper UserMapper userMapper = session.getMapper(UserMapper.class); //执行sql User user = userMapper.getUser("lin lvping"); if (user != null) { System.out.println("username:"+user.getUsername()+", password:"+user.getPassword()); } } }
测试结果如下:
username:lin lvping, password:123456
以上均参考自官方的guide文件:MyBatis-3-User-Guide.pdf,有空的同学可以仔细读读,很容易读懂的。