初识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 ...
随机推荐
- 跟我学算法-xgboost(集成算法)基本原理推导
1.构造损失函数的目标函数 2.对目标函数进行泰勒展开 3.把样本遍历转换成叶子节点遍历,合并正则化惩罚项 4.求wj进行求导,使得当目标函数等于0时的wj的值 5.将求解得到的wj反导入方程中,解得 ...
- 6 MySQL--表--完整性约束
参考:https://www.cnblogs.com/alice-bj/p/8824693.html 完整性约束: http://www.cnblogs.com/linhaifeng/articles ...
- LUA中相同签名函数覆盖
function test() print('test')end function test() print('test22222')end test() --输出test2222
- FM模型
[ 闲聊DNN CTR预估模型] http://www.mamicode.com/info-detail-1465813.html http://blog.csdn.net/bitcarmanlee/ ...
- 寄存器CPU存储地址信息和数据信息的地方 CPU通过地址寄存器区分指令和数据
- Python3 abs() 函数
Python3 abs() 函数 Python3 数字 描述 abs() 函数返回数字的绝对值. 语法 以下是 abs() 方法的语法: abs( x ) 参数 x -- 数值表达式,可以是整数,浮 ...
- 关于调试php的socket服务端中遇到的问题及解决办法
今天终于把socket的服务端解决了,期间遇到了很多问题呢~ 1.用cmd运行php的问题: 2.socket_create()函数未定义问题: 3.查看端口的问题. 以下逐一说说解决办法: 1.在c ...
- leetcode 204 count prim 数素数
描述: 给个整数n,计算小于n的素数个数. 思路: 埃拉托斯特尼筛法,其实就是普通筛子,当检测到2是素数,去除所有2的倍数:当检测到3是素数,去除其倍数. 不过这要求空间复杂度为n,时间复杂度为n. ...
- ICG游戏:证明,先手不是必胜就是必败。
简介: ICG游戏:Impartial Combinatorial Games,公平的组合游戏. 以下是定义,来自网络,可能不够严谨: 1.两名选手:2.两名选手轮流行动,每一次行动可以在有限合法操作 ...
- Orientation of phone Image
相机拍摄的图像方向问题 Description 很多时候,我们习惯把手机相机拍摄的图像在电脑上面查看.有的时候在手机上面看图像是正的,可是电脑端查看是反的:有的时候手机和电脑都是反的:有的时候都是正的 ...