第一个Mybatis程序示例 Mybatis简介(一)
- 要求通过xml或注解的方式将要执行的各种statement(statement、preparedStatemnt、CallableStatement)配置起来
- 并通过java对象和statement中的sql进行映射生成最终执行的sql语句
- mybatis框架执行sql并将结果映射成java对象并返回。
第一个Mybatis程序
1.新建项目
2.包获取与导入
3.数据库准备
CREATE TABLE `student` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(255) NOT NULL DEFAULT '默认姓名' COMMENT '姓名',`age` int(11) DEFAULT '1',`sex` varchar(255) DEFAULT NULL,`random` int(11) DEFAULT NULL,PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
4.配置文件设置
5.SQL映射文件设置
6.调整配置文件
7.创建实体类Student
8.修改myMapper.xml文件
9.测试
初识Mybatis
- 要从哪个数据库进行操作?
- 要操作的SQL在哪里?
- 执行哪个SQL?通过层级的命名标识符定位
- 执行SQL的细节信息有哪些?SQL内容,参数内容,返回类型等
- 配置信息搭建了Mybatis应用框架
- 映射设置了一次执行的所需信息
<mappers><package name="org.mybatis.builder"/> </mappers>
附录:完整代码
CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL DEFAULT '默认姓名' COMMENT '姓名', `age` int(11) DEFAULT '1', `sex` varchar(255) DEFAULT NULL, `random` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
项目结构
mybatis-config.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"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/sampledb?useUnicode=true&characterEncoding=utf-8"/> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <mappers> <mapper resource="mapper/myMapper.xml"/> </mappers> </configuration>
myMapper.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="mapper.myMapper"> <select id="selectStudent" resultType="first.Student"> select * from student where id = #{id} </select> </mapper>
Student
package first;public class Student {private Long id;private String name;private Integer age;private String sex;public Long getId() { return id; }public void setId(Long id) { this.id = id; }public String getName() { return name; }public void setName(String name) { this.name = name; }public Integer getAge() { return age; }public void setAge(Integer age) { this.age = age; }public String getSex() { return sex; }public void setSex(String sex) { this.sex = sex; }@Override public String toString() { final StringBuilder sb = new StringBuilder("Student{"); sb.append("id=").append(id); sb.append(", name='").append(name).append('\''); sb.append(", age=").append(age); sb.append(", sex='").append(sex).append('\''); sb.append('}'); return sb.toString(); } }
测试代码
package first; import java.io.InputStream; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class Test {public static void main(String[] args) throws Exception {/* * 每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为中心的。 * SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。 * 而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先定制的 Configuration 的实例构建出 SqlSessionFactory 的实例。 * */ String resource = "config/mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); /* * 从 SqlSessionFactory 中获取 SqlSession * */ SqlSession session = sqlSessionFactory.openSession(); try { Student student = (Student) session.selectOne("mapper.myMapper.selectStudent", 2); System.out.println(student); } finally { session.close(); } } }
接口应用
package first; public interface MyMapper { Student selectStudent(Integer id); }
<?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="first.MyMapper"> <select id="selectStudent" resultType="first.Student"> select * from student where id = #{id} </select> </mapper>
package first;import java.io.InputStream; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class Test2 {public static void main(String[] args) throws Exception {/** 每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为中心的。* SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。* 而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先定制的 Configuration 的实例构建出 SqlSessionFactory 的实例。* */String resource = "config/mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream,"development");/** 从 SqlSessionFactory 中获取 SqlSession* */SqlSession session = sqlSessionFactory.openSession();try {MyMapper mapper = session.getMapper(MyMapper.class);Student student = mapper.selectStudent(2);System.out.println(student);} finally {session.close();} }}
MyMapper mapper = session.getMapper(MyMapper.class);Student student = mapper.selectStudent(2);
转载于:https://www.cnblogs.com/noteless/p/10332784.html
第一个Mybatis程序示例 Mybatis简介(一)相关推荐
- 第一个Java程序示例——Hello World
跟随世界潮流,第一个Java程序输出"Hell World!". 通过Eclipse运行程序 启动Eclipse,在菜单中选择"文件 –> 新建 –> Jav ...
- 我的第一个Java程序和Java简介
public calss HelloWorld{public static void main(String[] args){System.out.println("Hello World! ...
- MyBits学习总结(1)--- MyBits简介、编写一个MyBatis程序
MyBits学习总结(1)- MyBits简介.编写一个MyBatis程序 1. MyBits简介 什么是mybits? 在哪里找? mybatis原来不叫mybatis ,而叫 ibatis1.2: ...
- 【Mybatis 之应用篇】1_Mybatis简介、第一个Mybatis程序和增删改查在Mybatis中的使用方式
文章目录 Mybatis 一.简介 1.持久化 2.持久层 3.为什么需要Mybatis? 二.第一个Mybatis程序 1.创建一个数据库 2.配置pom.xml文件 3.创建实体类 4.创建一个M ...
- 快速搭建第一个Mybatis程序
一.简介 1.初识Mybatis 2.持久化 3.持久层 4.为什么需要Mybatis 二.第一个Mybatis程序 1.搭建环境 2.创建一个新模块 3.编写代码 4.Junit测试 三.可能遇到的 ...
- 第一个 Mybatis 程序(CURD操作)
步骤 (1)搭建环境 1.搭建数据库 -- 创建数据库mybatis CREATE DATABASE `mybatis`; USE mybatis;-- 新建表 user CREATE TABLE ` ...
- mybatis学习笔记-02-第一个mybatis程序
该视频为狂神说java视频配套笔记(博主自己手打223,日后做个参考223),b站连接:Mybatis最新完整教程IDEA版[通俗易懂]-02-第一个mybatis程序) 文章目录 2.第一个myba ...
- MyBatis学习笔记2 ——第一个MyBatis程序
MyBatis学习笔记2 --第一个MyBatis程序 参考教程B站狂神https://www.bilibili.com/video/BV1NE411Q7Nx 环境搭建 建立一个mybatis数据库用 ...
- 【Mybatis】一个Mybatis程序
思路:搭建环境-->导入mybatis-->编写代码-->测试 写在前面: 对象生命周期和依赖注入框架 依赖注入框架可以创建线程安全的.基于事务的 SqlSession 和映射器,并 ...
最新文章
- redis入门(03)redis的配置
- poj - 2243 Knight Moves
- 【转载】快速升职加薪的10个方法
- python and or 优先级
- idea 自动导入包和自动将没用的包去除
- clientHeight,offsetHeight,scrollHeight迷一样的三个值
- python学习-日志(logging的定义、参数、format、示例代码、创建logging对象、设置Handler)
- mysql noinstall 安装_mysql-noinstall安装指南
- EevExpress中XtraGrid常用方法
- UGUI滚动列表ScrollView使用注意点
- 开发里程碑计划_里程碑——让你轻松控制项目进度
- Linux 主机信息 总览
- AC_Dream 1216 G - Beautiful People
- 【LeetCode】剑指 Offer 63. 股票的最大利润
- el-tooltip位置不灵活_要提高步伐移动的灵活性,注意这5点,加以改正,步伐不再沉重...
- Homebrew命令具体解释
- visual studio 最新稳定版本_速来围观!Android Studio 4.0 稳定版发布了
- 二维随机变量期望公式_多维随机变量函数的分布
- 小米总参php面试题_小米2019年PHP工程师面试题和答案解析
- Java内部类(摘自Java就业培训教程)
热门文章
- 联手IBM布局云计算,王健林如何再造一个新万达?
- Java 7 Concurrency Cookbook – Javier Fernández González -前言
- 提取某个符合条件的字符串中的中文字符 例子
- 架构体系需要进一步研究探索的V2路线图
- 【指导]如何编译完整建立开发环境和编译Android 4.0.1 on Ubuntu 11.04 (64 bit)
- APC UPS网络管理卡 (AP9606/9617/9618/9619)的快速安装及配置指南
- IE9 CTP发布了?改名 IE Platform Preview?
- 《应试捷径-典型考题解析与考点贯通_系统分析师考试》复习重点提示
- BZOJ2055 80人环游世界
- RSocket:又一个REST的挑战者