博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MyBatis学习总结1
阅读量:5034 次
发布时间:2019-06-12

本文共 3004 字,大约阅读时间需要 10 分钟。

MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。

MyBatis使用例子:

使用MySQL数据库:

create database mybatisfirst;use mybatisfirst;create table users(id int primary key auto_increment, name varchar(20), age int);insert into users(name, age) values('tufujie', 27);insert into users(name, age) values('dage', 27);

User.java->定义表所对应的实体类

package com.tfj.domain;/** * @author Jacksile */public class User {    // 实体类的属性和表的字段名称一一对应    private int id;    private String name;    private int 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 "User [id=" + id + ", name=" + name + ", age=" + age + "]";    }}

userMapper.xml->定义操作users表的sql映射文件userMapper.xml

conf.xml->注册userMapper.xml文件

Test.java->编写测试代码:执行定义的select语句

package com.tfj.test;/**  * @author Jacksile */import java.io.IOException;import java.io.InputStream;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import com.tfj.domain.User;public class Test {    public static void main(String[] args) throws IOException {        // mybatis的配置文件        String resource = "conf.xml";        // 使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)        InputStream is = Test.class.getClassLoader().getResourceAsStream(resource);        // 构建sqlSession的工厂        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);        // 使用MyBatis提供的Resources类加载mybatis的配置文件(它也加载关联的映射文件)        // Reader reader = Resources.getResourceAsReader(resource);        // 构建sqlSession的工厂        // SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);        // 创建能执行映射文件中sql的sqlSession        SqlSession session = sessionFactory.openSession();        /**         * 映射sql的标识字符串, com.tfj.mapping.userMapper是userMapper.xml文件中mapper标签的namespace属性的值,         * getUser是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL         */        String statement = "com.tfj.mapping.userMapper.getUserById";// 映射sql的标识字符串        // 执行查询返回一个唯一user对象的sql        User user = session.selectOne(statement, 1);        System.out.println(user);    }}

运行Test.java

转载于:https://www.cnblogs.com/tufujie/p/5660134.html

你可能感兴趣的文章
android优化内存_下
查看>>
js 多张爆炸效果轮播图
查看>>
两个input放一行不能对齐
查看>>
实训作业2
查看>>
带权最短路 Dijkstra, SPFA, Bellman-Ford, ASP, Floyd-Warshall 算法分析
查看>>
css_去掉默认样式
查看>>
关于php开发中的字符编码问题总结的几个要点
查看>>
【原创】uwsgi中多进程+多线程原因以及串行化accept() - thunder_lock说明
查看>>
vi 卡住怎么办
查看>>
python 之sqlalchemy many to many
查看>>
Direct2D教程(三)简单几何图形
查看>>
手机GUI自动化测试介绍
查看>>
进程间通信——IPC之共享内存
查看>>
斐波拉契数列的由来
查看>>
第4课 脚本命令与登录程序
查看>>
Windows加密服务架构
查看>>
php with bootstrap
查看>>
firedebug调试Jquery
查看>>
相同属性类之间的转换
查看>>
关于GIT合并出错的记录
查看>>