mybatis介绍和mybatis快速入门
1.mybatis介绍
mybatis是支持普通sql查询,存储过程和该机映射的持久层(把java对象存储到数据库中)框架。几乎消除jdbc代码和手动设置参数以及对结果集的检索封装。mybatis可以使用映射文件xml,接口dao来操作实体类bean。
2.mybatis快速入门
1.建立数据库表users
create database mybatis; use mybatis; CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20), age INT); INSERT INTO users(NAME, age) VALUES('Tom', 12); INSERT INTO users(NAME, age) VALUES('Jack', 11); |
2.建立相应实体类Users
public class Users { private int id; private String name; private int age; public Users() { super(); } public Users(int id, String name, int age) { super(); this.id = id; this.name = name; this.age = age; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "Users [id=" + id + ", name=" + name + ", age=" + age + "]"; } } |
3.建立相应映射文件UsersMapper.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"> <!-- namespace是命名空间,暂时原来区分id,被外面调用用,名字可以随意但后面和dao一起那么namespace要和dao全类名一致 --> <mapper namespace="Test"> <!-- select:sql查询语句的标签, id:相当于方法名称, parameterType:传入参数类型(输入类型),要写全类名 resultType:传出参数类型(输出类型),要写全类名 --> <!-- 通过id查询 --> <select id="selectById" parameterType="int" resultType="com.zhiyou100.kfs.bean.Users"> select * from users where id=#{id} </select> </mapper> |
4.建立mybatis的配置文件,并注册UserMapper.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> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <!-- driver驱动 --> <property name="driver" value="com.mysql.jdbc.Driver" /> <!-- url:数据库地址 username:数据库用户名 password:数据库密码 --> <property name="url" value="jdbc:mysql://localhost:3306/mybatis" /> <property name="username" value="root" /> <property name="password" value="123" /> </dataSource> </environment> </environments> <!-- 配置映射文件UserMapper.xml --> <mappers> <mapper resource="com/zhiyou100/kfs/mapper/UsersMapper.xml"/> </mappers> </configuration> |
5.在单元测试里测试
class TestMybatis { @Test void test() throws Exception { //1.获取配置文件config.xml加入到io流中 InputStream inputStream = Resources.getResourceAsStream("config.xml"); //2.通过SqlSessionFatoryBuilder的builder创建sqlsessionfatory SqlSessionFactory sqlSessionFatory = new SqlSessionFactoryBuilder().build(inputStream); //3.通过sqlSessionFactory的openSession方法创建SqlSession SqlSession sqlSession=sqlSessionFatory.openSession(); //4.调用sqlSession的selectOne来使用通过id查询一个用户 //第一个参数是映射文件的namespace.方法名,第二个参数是传入sql语句的参数,这里是id Users user=sqlSession.selectOne("Test.selectById",1); System.out.println(user); //最后一个页是很重要的一个:关闭资源 sqlSession.close(); } } |
原文地址:https://www.cnblogs.com/kfsrex/p/11439622.html
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Chrome 新功能 — CSS Overview 尝鲜
- 0门槛,轻松实现条形竞赛图动画
- 读懂数据库中的乐观锁和悲观锁和MVCC
- CentOS 7.x安装微服务网关Apache APISIX
- Sentinel规则Pull模式持久化
- 如何用Cloudbase Framework部署一个Vue项目?
- 第17问:如何评估 alter table 的进度?
- 【LeeCode 困难 python3】329. 矩阵中的最长递增路径
- 干!一张图整理了 Python 所有内置异常
- 面试官问:孤儿进程和僵尸进程,你造吗~
- 最全Vue开发环境搭建
- apicloud api.openwin
- C#观察者模式实例
- xml序列化和反序列化(二)
- xml序列化和反序列化(一)