mybatis入门实例(二)

xiaoxiao2021-02-28  104

    工程已经搭建好,这次我们要做的是进行一个简单的实例----根据ID查询用户信息。

    本篇博客的基础是在上篇博客(一)上进行的,有疑问请参考博客(一)。

    1、为sqlmapconfig添加约束并配置连接

添加约束:

<?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> 配置连接 <configuration> <!-- 和spring整合后 environments配置将废除--> <environments default="development"> <environment id="development"> <!-- 使用jdbc事务管理,事务控制由mybatis--> <transactionManager type="JDBC" /> <!-- 数据库连接池,由mybatis管理--> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </dataSource> </environment> </environments> </configuration>     2、sqlmap文件夹下添加user.xml文件夹,在user.xml中添加约束并写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"> <!-- namespace命名空间,作用就是对sql进行分类化管理,理解sql隔离 注意:使用mapper代理方法开发,namespace有特殊重要的作用 --> <mapper namespace="test"> <!-- 在 映射文件中配置很多sql语句 --> <!-- 需求:通过id查询用户表的记录 --> <!-- 通过 select执行数据库查询 id:标识 映射文件中的 sql 将sql语句封装到mappedStatement对象中,所以将id称为statement的id parameterType:指定输入 参数的类型,这里指定int型 #{}表示一个占位符号 #{id}:其中的id表示接收输入 的参数,参数名称就是id,如果输入 参数是简单类型,#{}中的参数名可以任意,可以value或其它名称 resultType:指定sql输出结果 的所映射的java对象类型,select指定resultType表示将单条记录映射成的java对象。 --> <select id="findUserById" parameterType="int" resultType="cn.itcast.mybatis.po.User"> SELECT * FROM USER WHERE id=#{value} </select> </mapper>     3、src下添加po文件夹,在文件下建立po类,User.java

package cn.itcast.mybatis.po; import java.util.Date; public class User { private int id; private String username; private String sex; private Date birthday; private String address; 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 getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } }     4、在Sqlmapconfig.xml中添加加载映射文件的代码

<!-- 加载 映射文件 --> <mappers> <mapper resource="sqlmap/User.xml"/> </mappers>     5、在src的first包中添加类mybatisfirst.java,并在该类中添加如下代码

package cn.itcast.mybatis.first; import java.io.IOException; import java.io.InputStream; 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 org.junit.*; import cn.itcast.mybatis.po.User; public class MybatisFirst { //根据id查询用户信息,得到一条记录结果 @Test public void findUserByIdTest() throws IOException { // mybatis配置文件 String resource = "SqlMapConfig.xml"; //得到配置文件流 InputStream inputStream = Resources.getResourceAsStream(resource); // 创建会话工厂,传入mybatis的配置文件信息 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder() .build(inputStream); // 通过工厂得到SqlSession SqlSession sqlSession = sqlSessionFactory.openSession(); // 通过 SqlSession操作数据库 // 第一个参数:映射文件中tatement的id,等于=namespace+"."+statement的id // 第二个参数:指定和映射文件中所匹配的parametertype类型的参数 // sqlSession.selectOne结果是与映射文件所匹配的resulttype类型类型的对象 User user = sqlSession.selectOne("test.findUserById", 1); System.out.println(user); //释放资源 sqlSession.close(); } }     至此,根据id查询用户信息功能完成,下篇博客我们 进行实例分析。

转载请注明原文地址: https://www.6miu.com/read-50241.html

最新回复(0)