IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Mybatis入门程序 -> 正文阅读

[Java知识库]Mybatis入门程序

Mybatis入门程序

准备工作

在入门学习中已经创建好maven项目,并导入相关依赖,接下来就可以利用mybatis对数据库进行操作

数据库包含两个表:

入门程序一:按id查询用户

创建实体类

在pojo层创建一个Employee实体类

package com.neuedu.pojo;
import java.util.Date;

public class Employee {
	private Integer id;
	private String loginName;
	private String password;
	private String name;
	private Date hiredate;
	private String email;
	private Integer status;
	private String photoPath;
	private Integer deptId;
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getLoginName() {
		return loginName;
	}
	public void setLoginName(String loginName) {
		this.loginName = loginName;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Date getHiredate() {
		return hiredate;
	}
	public void setHiredate(Date hiredate) {
		this.hiredate = hiredate;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public Integer getStatus() {
		return status;
	}
	public void setStatus(Integer status) {
		this.status = status;
	}
	public String getPhotoPath() {
		return photoPath;
	}
	public void setPhotoPath(String photoPath) {
		this.photoPath = photoPath;
	}
	public Integer getDeptId() {
		return deptId;
	}
	public void setDeptId(Integer deptId) {
		this.deptId = deptId;
	}
	@Override
	public String toString() {
		return "Employee [id=" + id + ", loginName=" + loginName + ", password=" + password + ", name=" + name
				+ ", hiredate=" + hiredate + ", email=" + email + "]";
	}
}

创建映射文件

可以直接在resources下创建xml映射文件,EmpMapper.xml

如果idea识别不出xml文件,可以看?IDEA创建Mapper.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>

根标签mapper的namespace属性现在可以随意给值 ,但当使用mapper代理方式开发时,有特定的取值。

SQL语句

<select id="findEmpById" parameterType="int" resultType="com.neuedu.pojo.Employee">
        <!-- id就是这条语句的唯一标识,parameterType是员工id的属性,resultType是返回类型,要把实体类的路径写完整 -->
        select * from tb_emp where id = #{value}
        <!-- 占位符要使用#{} parameterType的类型如果为 简单类型(基本类型和String),#{}中的值任意。-->
    </select>

测试

创建一个测试类

package com.neuedu.test;

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;
import org.junit.Test;
import com.neuedu.pojo.Employee;
public class TestMybatis {
   @Test
    public void testFindById() throws Exception{

        InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
        sf = new SqlSessionFactoryBuilder().build(in);
        SqlSession session = sf.openSession();
        Employee emp = session.selectOne("findEmpById", 3);
        System.out.println(emp.getName());
        session.close();
    }
}

查询实质上调用的还是session,session调用完成后要关闭

InputStream in = Resources.getResourceAsStream(“SqlMapConfig.xml”);
该语句引入了映射文件,还需要由映射文件去寻找sql语句所在的文件EmpMapper.xml
所以要在SqlMapConfig.xml中引入EmpMapper.xml

测试结果

对比数据库

成功 !

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-08-08 11:07:41  更:2021-08-08 11:11:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/10 8:16:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码