博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用MyBatis搭建一个访问mysql数据库的简单示例
阅读量:6908 次
发布时间:2019-06-27

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

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

框架整体结构图:

关键代码介绍

  1.ICatagoryOperation接口                   

public interface ICatagoryOperation {    void inserteCatagory(Catagory catagory);    Catagory getCatagorybyID(int id);}

 2.Catagory类

public class Catagory {    private int id;    private String name;    private String description;    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 String getDescription() {        return description;    }    public void setDescription(String description) {        this.description = description;    }    @Override    public String toString() {        return String.format("id:%d,name:%s,description:%s", id, name, description);    }}

3.MyBatisUtils类

public class MyBatisUtils {    private static final String CONFIG_PATH = "config/mybatis_config.xml";    /*     * 获取数据库访问链接     */    public static SqlSession getSqlSession() {        SqlSession session = null;        try {            InputStream stream = Resources.getResourceAsStream(CONFIG_PATH);            // 可以根据配置的相应环境读取相应的数据库环境            // SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(            // stream, "development");            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(stream);            session = factory.openSession();        } catch (Exception e) {            // TODO: handle exception            e.printStackTrace();        }        return session;    }    /*     * 获取数据库访问链接     */    public static void closeSession(SqlSession session) {        session.close();    }    }

4.CatagoryMapper.xml

5.mybatis_config.xml,核心配置文件

6.TestMybatis测试入口类 

public class TestMybatis {    public static void main(String[] args) {        addTest();        getTest();    }    /*     * 添加Catagory     */    static void addTest() {        SqlSession sqlSession = MyBatisUtils.getSqlSession();        ICatagoryOperation catagoryOperation = sqlSession.getMapper(ICatagoryOperation.class);        Catagory item = new Catagory();        item.setName("sql server");        item.setDescription("sql server类");        int result = catagoryOperation.inserteCatagory(item);        if (result > 0) {            sqlSession.commit();            System.out.println("添加成功");        } else            sqlSession.rollback();        MyBatisUtils.closeSession(sqlSession);    }    /*     * 根据ID获取Catagory     */    static void getTest() {        SqlSession sqlSession = MyBatisUtils.getSqlSession();        ICatagoryOperation catagoryOperation = sqlSession.getMapper(ICatagoryOperation.class);        System.out.println(catagoryOperation.getCatagorybyID(3).toString());        MyBatisUtils.closeSession(sqlSession);    }}

7.测试运行结果

 

转载地址:http://jagdl.baihongyu.com/

你可能感兴趣的文章
PHP对CURL函数的封装,支持GET/POST请求
查看>>
sql server 存储过程事务与异常处理的一般方式
查看>>
vue-cli自己写的全局组件使用
查看>>
Java中的读/写锁
查看>>
Map部分常见问题
查看>>
Spring cloud Netflix中的超时配置
查看>>
VVDocumenter-Xcode
查看>>
理解MySQL运算符和常用内置函数
查看>>
Linux 安装 maven环境
查看>>
【数据结构】 单向链表
查看>>
System.out.printf() 格式化输出,快捷打印出当前时间
查看>>
RPM包制作
查看>>
objective-C中的description方法
查看>>
gzip文件内存解压后处理,再保存到文件
查看>>
js 数据统计及保留2位小数
查看>>
hadoop格式化失败原因:format is aborted
查看>>
Apache服务转发weblogic,以及apache服务器中静态页面转发
查看>>
Java 技巧
查看>>
Minor GC、Major GC和Full GC之间的区别-JVM
查看>>
jsp request 对象详解
查看>>