初识Mybatis框架
mybatis框架 主要是对数据库进行操作的 编写sql语句 使我们对数据库的crud操作更加简洁方便!!
1.使用mybatis框架 进行第一个项目 查询数据库 并返回数据 :(简单)
(1)搭建 mybatis框架环境: 所使用的jar包

(2) 编写实体类 要与数据库中的字段对应 (我的实体类名称叫 Teacher);
package com.hxzy.mybatis.pojo; import lombok.Data;
//这里使用了lombok插件 免去了set get 方法
@Data
public class Teacher {
private Integer t_id;
private String t_name;
private String t_address;
}
(3).编写 sqlMapper的xml文件 (teacherMapper.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">
<!--配置teacher的xml文件--> <!--
namespace:指定该文件的的唯一标识 路径为实体类对应的全路径 名字是可以随意起名的 但最好规范
resultType:指定返回结果的类型 如果是对象的话 需要写全类名
parameterType :指定参数的类型
如果有参数的话 比如 select * from student where s_id = #{id}
jdbc 用的是 ?号占位符 而mybatis 用的是#{里面写参数}
-->
<mapper namespace="Teacher">
<select id="one_query" resultType="com.hxzy.mybatis.pojo.Teacher" parameterType="int">
select * from teacher
</select>
</mapper>
(4). 编写工厂类 用来返回SqlSessionFactory对象
package com.hxzy.mybatis.entity; import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder; import java.io.Reader; public class SqlSession_entity {
private static Reader reader;
private static SqlSessionFactory factory;
static {
//加载mybatis核心配置文件
try {
reader = Resources.getResourceAsReader("mybatis_cnfg.xml");
}catch (Exception e){
System.out.println(e);
}
factory = new SqlSessionFactoryBuilder().build(reader);
}
//调用这个方法就会返回一个Sqlsession对象
public static SqlSession getSession(){
return factory.openSession();
}
}
(5) 测试 (Test_mybatis)
package com.hxzy.mybatis.test; import com.hxzy.mybatis.entity.SqlSession_entity;
import com.hxzy.mybatis.pojo.Teacher;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test; public class Test_mybatis {
@Test
public void test1(){
/**
* 普通的查询
*/
//得到SqlSession
SqlSession sqlSession = SqlSession_entity.getSession();
//创建sql语句
String sql = "Teacher.one_query";
Teacher teacher = sqlSession.selectOne(sql);
System.out.println(teacher);
//关闭
sqlSession.close();
} }

初识Mybatis框架的更多相关文章
- 初识Mybatis框架,实现增删改查等操作(动态拼接和动态修改)
此第一次接触Mybatis框架确实是有点不适应,特别是刚从Hibernate框架转转型过来,那么为什么要使用Mybatis框架,Mybatis框架和Hibernate框架又有什么异同呢? 这个问题在我 ...
- 初识Mybatis框架,实现增删改查等操作
此第一次接触Mybatis框架确实是有点不适应,特别是刚从Hibernate框架转转型过来,那么为什么要使用Mybatis框架,Mybatis框架和Hibernate框架又有什么异同呢? 这个问题在我 ...
- MyBatis 框架系列之基础初识
MyBatis 框架系列之基础初识 1.什么是 MyBatis MyBatis 本是 apache 的一个开源项目 iBatis,后改名为 MyBatis,它 是一个优秀的持久层框架,对 jdbc 的 ...
- Mybatis框架中实现双向一对多关系映射
学习过Hibernate框架的伙伴们很容易就能简单的配置各种映射关系(Hibernate框架的映射关系在我的blogs中也有详细的讲解),但是在Mybatis框架中我们又如何去实现 一对多的关系映射呢 ...
- mybatis入门--初识mybatis
初识mybatis 今天,一起来说说mybits这个框架吧.这是一个持久层的框架.之前叫做ibatis.所以,在它的代码中出现ibatis这个词的时候,不要感到惊讶.不是写错了,它确实就是这个样子的. ...
- MyBatis For .NET学习- 初识MyBatis
MyBatis的框架. Introduction MyBatis本是apache的一个开源项目iBatis,2010年这个项目由 apache software foundation迁移到了googl ...
- 初识Mybatis之工程搭建
简介:MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 ...
- MyBatis学习01(初识MyBatis和CRUD操作实现)
1.初识MyBatis 环境说明: jdk 8 + MySQL 5.7.19 maven-3.6.1 IDEA 学习前需要掌握: JDBC MySQL Java 基础 Maven Junit 什么是M ...
- Mybatis框架的多对一关联关系(六)
一.一对多的关联映射 一对多关联查询多表数据 1接口 public interface IDeptDAO { //根据部门编号查询该部门单个查询 public Emp getEmpById(Integ ...
随机推荐
- Vue-cli webpack模板
Vue webpack项目开始构建模板使用,关键内容摘要 中文文档 https://loulanyijian.github.io/vue-cli-doc-Chinese/ 官方英文 http://vu ...
- PC上对限制在微信客户端访问的html页面进行调试
PC上对微信的html5页面做测试,一般来说需要两个条件:浏览器UA改为微信客户端的UA(打开页面提示请在微信客户端登录就需要修改UA):增加满足html5验证条件的Cookie来进行微信OAUTH验 ...
- node.js中的匿名函数, 回调函数和嵌套函数
定义一个函数相信大家已经很熟悉了, 在javascript里的函数也是非常重要的, 使用率非常高, 有几种函数不是很好理解 一, 匿名函数 var remove = function(num1) { ...
- 【BZOJ2716】天使玩偶【kd树】
这个题要求kd树支持两个操作. 1.插入一个新的点. 2.查询某个点最近曼哈顿距离. 注意查询曼哈顿距离和查询欧几里得距离,是有区别的.(估价函数不同). #include <cstdio> ...
- a=a++问题引发的思考
使用javap命令解析出来的a=a++过程的字节码(int a=1; a=a++): 0: iconst_1 将数值1压入栈顶 1: istore_1 栈顶值1存入局部变量表的第一个slot中 2 ...
- 超赞!UX写手必备技能
以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具. 今天,小编非常荣幸能与大家一起分享一些优秀UX 写手必备的成功技能: 1.开篇抓住用户的心 MBE曾 ...
- Java程序设计19——类的加载和反射-Part-A
1 本文概要 本章介绍Java类的加载.连接和初始化的深入知识,并重点介绍Java反射相关的内容.本章知识偏底层点,这些运行原理有助于我们更好的把我java程序的运行.而且Java类加载器除了根加载器 ...
- 是什么优化让 .NET Core 性能飙升?(转)
欢迎大家持续关注葡萄城控件技术团队博客,更多更好的原创文章尽在这里~~ .NET Core(开放源代码,跨平台,x-copy可部署等)有许多令人兴奋的方面,其中最值得称赞的就是其性能了. 感谢所有社区 ...
- Redis数据结构(四)
存储list: list存储方式采用头和尾插入的方式,这样效率快,如果没有这个插入的数据,redis自己会创建这个数据,如果是中间插入的话,采用list方式效率就会很慢. ArrayList使用数组方 ...
- ZOJ2388 Beat the Spread! 2017-04-16 19:18 91人阅读 评论(0) 收藏
Beat the Spread! Time Limit: 2 Seconds Memory Limit: 65536 KB Superbowl Sunday is nearly here. ...