摘要:要想使用需要在的中导入包和的驱动包每个基于的应用都是以一个的实例为中心的的实例可以通过获得则可以从配置文件或一个预先定制的的实例构建出的实例配置文件中包含了对系统的核心设置,包含获取数据库连接实例的数据源和决定事务作用域和控制方式的事
1 要想使用mybatis 需要在maven的pom.xml中导入jar包和mysql的驱动包
org.mybatis mybatis 3.2.8 Mysql mysql-connector-java 5.1.38
2 每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为中心的
SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得
SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先定制的 Configuration 的实例构建出
SqlSessionFactory 的实例
String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
XML 配置文件(configuration XML)中包含了对 MyBatis 系统的核心设置,包含获取数据库连接实例的数据源(DataSource)和决定事务作用域和控制方式的事务管理器(TransactionManager)
3 配置文件
jdbc.properties
driver=com.mysql.jdbc.Driver url=jdbc:mysql://127.0.0.1:3306/数据库名?useUnicode=true&characterEncoding=utf-8 username=***** password=*****
mybatis-config.xml
BlogMapper.xml
4 接口和实体类以及数据库表结构
dao层接口
package com.dsying.dao; import com.dsying.bean.Blog; public interface BlogMapper { Blog selectBlog(int id); }
实体类
package com.dsying.bean; public class Blog { 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 "Blog{" + "id=" + id + ", name="" + name + """ + ", age=" + age + "}"; } }
表结构
CREATE TABLE `blog` ( `id` int(11) NOT NULL, `name` varchar(255) DEFAULT NULL, `age` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8
5 测试
String resource = "mybatis-config.xml"; InputStream inputStream =null; SqlSession sqlSession =null; try { inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); //从sqlSessionFactory 中 获取sqlSession // sqlSession = sqlSessionFactory.openSession(); BlogMapper blogMapper = sqlSession.getMapper(BlogMapper.class); Blog blog = blogMapper.selectBlog(1); System.out.println(blog.toString()); }catch (Exception e){ e.printStackTrace(); }finally { sqlSession.close(); }
6 结果
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/68441.html
摘要:学习笔记有官方的中文开发文档并且针对使用者比较友好是一款优秀的持久层框架,它支持定制化存储过程以及高级映射。它只和配置有关,存在的意义仅在于用来减少类完全限定名的冗余,为了简化中的书写。 Mybatis学习笔记 mybatis有官方的中文开发文档并且针对使用者比较友好:http://www.mybatis.org/mybatis-3/zh/ MyBatis 是一款优秀的持久层框架,它支...
摘要:关闭进程问题顺利解决。问题泄也是一个奇葩的问题,百度一下,原来碰到的人挺多,原因就是高版本的驱动会有数据库和系统时区差异我用的版本是,所以碰到了,修改下配置,执行时区就可以了或者用回版本,该版本不会存在时区问题。 本文主要在上一篇Spring Boot学习笔记(四)构建RESTful API标准工程实例的基础上,整合MyBatis,实现简单的MySql数据库访问 引入依赖 这里主要依赖...
摘要:目标创建一个简单的框架的程序,实现对数据库的读取操作。的核心配置文件核心配置文件,配置数据库连接信息事物等每一个都需要在核心配置文件中注册工具类获取第一步获取对象既然有了,顾名思义,我们可以从中获得的实例。 ...
摘要:前两篇已经构建了标准工程实例,也整合了实现了简单数据库访问,本篇主要更深入的学习下,实现较为完整的数据库的标准服务。到这里,最复杂的数据访问基本就算编写完了。 前两篇已经构建了RESTful API标准工程实例,也整合了MyBatis实现了简单数据库访问,本篇主要更深入的学习下,实现较为完整的数据库CRUD的标准服务。 首先看下要实现的效果吧,完成下面截图部分的API,除了CRUD之外...
摘要:将语句硬编码到代码中,修改语句需要重新编译代码设想使用配置文件配置。从结果集中遍历数据的时候存在硬编码。表示一个拼接符号,会引用注入,所以不建议使用。和表示查询出一条记录进行映射。 MyBatis是什么 mybatis是托管在github上的ORM框架,让程序员将主要精力放在SQL上,通过mybatis提供映射方式,自由灵活(SQL的可定制性较高,半自动化)生成满足需求的SQL语句。m...
阅读 2754·2021-11-24 09:39
阅读 2516·2021-11-23 09:51
阅读 1651·2021-11-17 09:33
阅读 1652·2021-10-22 09:54
阅读 1820·2021-08-16 11:00
阅读 3384·2019-08-30 15:53
阅读 1704·2019-08-30 13:19
阅读 2856·2019-08-30 12:49