mybatis入门一
mybatis中文官网:https://mybatis.org/mybatis-3/zh/index.html
一、Mybatis是什么?
mybaits是一种持久层框架,实现数据的持久化操作。是ORM(Object Relational Mapping),对象关系映射框架的一种,支持定制化sql,存储过程,关系映射;封装了jdbc的
所有的数据操作过程;简化了参数传递,对象映射的过程。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映
射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
二、使用Mybatis(仅仅是单独使用,没有使用maven)
(1) 下载mybatis的jar包引入到工程中(下载地址:https://mvnrepository.com/search?q=mybatis)
(2) 正常在src目录下建立dao层,entity层 (以部门和员工关系为例)
dao层:
package com.aaa.dao;
import com.aaa.entity.Dept;
import com.aaa.entity.Emp;
import java.util.List;
public interface Deptdao {
List<Dept> quaryall();
int update1(Dept dept);
List<Dept> deptandemp();
}
entity层:
package com.aaa.entity;
import java.util.List;
public class Dept {
private Integer deptno;//部门编号
private String dname;//部门名字
public Dept() {
}
public Dept(Integer deptno, String dname) {
this.deptno = deptno;
this.dname = dname;
}
public Integer getDeptno() {
return deptno;
}
public void setDeptno(Integer deptno) {
this.deptno = deptno;
}
public String getDname() {
return dname;
}
public void setDname(String dname) {
this.dname = dname;
}
@Override
public String toString() {
return "Dept{" +
"deptno=" + deptno +
", dname='" + dname + '\'' +
'}';
}
}
(3) 在src目录下创建mybatis-config.xml(全局配置文件)
全局配置文件里边主要就是项目要使用连接的数据库和映射dao接口的映射文件
<?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="mysql">
<!--environments中可以有多个environment,id是区分environment的,environments后的default的值对应
那个id,就使用那个environment-->
<environment id="mysql">
<transactionManager type="JDBC"/>
<!--datasource的类型可以配置成其内置类型之一,如UNPOOLED,POOLED,JNDI
1、如果将类型设置成UNPOOLED,Mybatis会为每一个数据库操作创建一个新的
连接,并关闭它。该方式适用于只有小规模数量并发用户的简单应用程序上。
2、如果将属性设置成POOLED,Mybaits会创建一个数据库连接池,连接池中的
一个连接将会被用作数据库操作。一旦数据库操作完成,Mybatis会将此连接返回
给连接池。在开发或测试环境中,经常使用此种方式。
3、如果将类型设置为JNDI,Mybatis从在应用服务器向配置好的JNDI数据源dataSource
获取数据库连接。在生产环境中,优先考虑这种方式
-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<!--allowMultiQueries=true:开启批量更新-->
<