mybatis入门程序
2017-09-04 10:16
459 查看
1、工程结构:
2、核心配置文件:SqlMapConfig.xml
3、sql语句配置文件mapper.xml文件-User.xml:
4、数据库表结构:
5、pojo类:User.java
6、测试类:
一个简单的mybatis入门程序-查询一条/多条记录
2、核心配置文件:SqlMapConfig.xml
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- 和spring整合后 environments配置将废除--> <environments default="development"> <environment id="development"> <!-- 使用jdbc事务管理--> <transactionManager type="JDBC" /> <!-- 数据库连接池--> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> <!-- 加载mapper.xml --> <mappers> <mapper resource="sqlmap/User.xml"/> </mappers> </configuration>
3、sql语句配置文件mapper.xml文件-User.xml:
<?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="test"> <!-- 在mapper.xml文件中,配置很多的sql语句,执行每个sql语句时,封装为MappedStatement对象,mapper.xml以statement为单位管理sql语句 --> <!-- 根据id来查询用户的信息 --> <!-- select 语句里的id标识一个sql语句,一个statement #{id}标识一个占位符,如果#{}中要传入简单类型,name这个名称随意 resultType:指定单条输出结果的pojo类型,不管是返回多条记录还是单条记录,此处都指定单条记录的类型 #{}: 标识一个占位符,向占位符输入参数,mybatis自动进行java类型和jdbc类型的转换,程序员不需要考虑参数的类型,比如传入字符串,mybatis最终拼接好的sql就是参数两边加单引号 ${}: 标识sql的拼接,通过${}接收参数,将参数的内容不加任何修饰拼接在sql中。 --> <select id="findUserById" parameterType="int" resultType="com.js.mybatis.po.User"> select * from user where id = '${value}' </select> <!-- 根据用户名称查询用户信息 可能返回多条 --> <select id="findUserByName" parameterType="String" resultType="com.js.mybatis.po.User"> select * from user where username like '%${value}%' </select> </mapper>
4、数据库表结构:
5、pojo类:User.java
package com.js.mybatis.po; /** * 用户po类 */ import java.util.Date; public class User { @Override public String toString() { return "User [id=" + id + ", username=" + username + ", sex=" + sex + ", birthday=" + birthday + ", address=" + address + "]"; } private int id; private String username; private String sex; 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; } private Date birthday; private String address; }
6、测试类:
package com.js.mybatis.first; import java.io.IOException; import java.io.InputStream; import java.util.Iterator; 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 org.junit.Before; import org.junit.Test; import com.js.mybatis.po.User; public class MybatisFirst { private SqlSessionFactory sqlSessionFactory; @Before public void init() throws IOException{ //创建会话工厂 //配置文件 String resource = "SqlMapConfig.xml"; //加载配置文件到输入流中 InputStream inputStream = Resources.getResourceAsStream(resource); //创建会话工厂 sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } /** * 根据id查询 只会返回一条记录 * selectOne只能用于返回一条记录,否则抛异常 */ @Test public void findUserById(){ //通过sqlSessionFactory来创建sqlSession SqlSession sqlSession = sqlSessionFactory.openSession(); //通过sqlsession操作数据库 User user = sqlSession.selectOne("test.findUserById", 1); //关闭sqlsession sqlSession.close(); System.out.println(user.toString()); } @Test public void findUserByName(){ SqlSession sqlSession = sqlSessionFactory.openSession(); List<User> userList=sqlSession.selectList("test.findUserByName", "小明"); // Iterator<User> iterator = userList.iterator(); System.out.println(userList.get(0).getUsername()); for(User user:userList){ System.out.println(user); } // while(iterator.hasNext()){ // System.out.println(iterator.next()); // } } }
一个简单的mybatis入门程序-查询一条/多条记录
相关文章推荐
- 【Mybatis】入门程序
- Spring+SpringMVC+MyBatis深入学习及搭建(十三)——SpringMVC入门程序(二)
- 【Mybatis从0到1-003】mybatis框架及简单入门程序
- mybatis的入门程序
- Mybatis学习(三)搭建mybatis的入门程序的运行环境
- Mybatis基础知识--入门程序篇1
- mybatis之入门到开发(一)之基础原理概念+入门小程序
- Mybatis基础知识--入门程序篇3
- MyBatis3入门程序(02_注册别名typeAlias)
- 框架学习系列 mybatis 第三篇 mybatis入门程序之工程项目的搭建
- MyBatis(4)MyBatis入门程序
- Mybatis之入门Helloworld程序
- Mybatis入门程序
- [置顶] 【Mybatis】深入浅出Mybatis(五)——入门程序(增删改)
- MyBatis3入门程序(01_增删改查)
- Spring+SpringMVC+MyBatis深入学习及搭建(十三)——SpringMVC入门程序(二)
- 【JavaWeb-26】MyBatis快速入门程序+一些扩展
- MyBatis - 介绍、简单入门程序
- mybatis入门HelloWorld程序