记录实例实现的过程,并使用它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。