记录一个实例实现的过程,利用mybatis查询User类数据。
首先打开mysql数据库,在sql编辑器里添加代码,建立user_表格。user_表格含有id,name,usercode三个字段。类型分别为int,varchar,varchar。代码略。
在eclipse中,建立一个mybatis的Java Project。所有的实体类都放在pojo的package下面。在pojo下新建实体类User.java。为各个属性设置setter和getter。代码略。
核心是配置文件mybatis-config.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>
<package name="com.mybatis.pojo"></package>
</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://localhost:3306/mybatis?characterEncoding=UTF-8"/>
<property name="username" value="root"/>
<property name="password" value="admin"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/mybatis/pojo/Category.xml"/>
<mapper resource="com/mybatis/pojo/Product.xml"/>
<mapper resource="com/mybatis/pojo/Order.xml"/>
<mapper resource="com/mybatis/pojo/OrderItem.xml"/>
<mapper class="com.mybatis.mapper.CategoryMapper"/>
<mapper class="com.mybatis.mapper.ProductMapper"/>
</mappers>
</configuration>
四个property标签下面分别表示连接数据库所需要的驱动,url,登陆数据库所需要的账户名和密码。
typeAliases标签下表示将扫描com.mybatis.pojo下面的类型。
标签里面是对各个实体类对应的xml文件的映射。忽略下面的xxxxMapper,这是后面注解的讲法。在这个实例中,对应User实体类,需要映射一个xml文件。在这个mappers标签里面,再加mapper标签。写上<mapper resource="com/mybatis/pojo/User.xml>
下面就编写user.xml,在这里只写一个查询的功能。namespace=“。。。”表示命名空间在pojo的package下,标签表示查询功能,id="listUser"作为标识,方便在test类中让session调用查询方法。resultType表示返回类型是user的bean。标签内sql语句照常。
<?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.pojo">
<select id="listUser" resultType="User">
select * from user_
</select>
</mapper>
测试类如下,
package com.mybatis;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
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.mybatis.pojo.User;
public class test2 {
public static void main(String[] args) throws IOException {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session=sqlSessionFactory.openSession();
List<User> us=session.selectList("listUser");
for (User u : us) {
System.out.print(u.getName()+" "+u.getUsercode());
}
}
}
哦,还要在数据库mybatis的user表格中添加几条数据。添加完成以后。控制台查询结果如下,
tom123 180923001。