提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
以下详细说明了mybatis配置环境,与使用方式(CRUD)。提示:以下是本篇文章正文内容,下面案例可供参考
一、Mybatis所用jar包
其中log4j.jar与log4j.xml为日志文件,可方便记录运行情况。
二、使用步骤
1.配置mybatis.xml文件
使用的数据库为Oracle数据库,代码如下(示例):
<?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>
<!-- 配置jdbc -->
<properties>
<property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
<property name="username" value="scott"/>
<property name="password" value="root"/>
</properties>
<!-- 起别名 -->
<typeAliases>
<typeAlias type="com.hwua.po.Dept" alias="dept"/>
<typeAlias type="com.hwua.po.Emp" alias="emp"/>
</typeAliases>
<!-- 声明所有的操作环境 -->
<environments default="development">
<!-- 声明当前正在用的操作环境 -->
<environment id="development">
<!-- 声明事务的管理方式 -->
<transactionManager type="JDBC"></transactionManager>
<!-- 创建数据库连接池的时候的必要条件 -->
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<!-- 配置映射配置文件 -->
<mappers>
<!-- <mapper resource="com/hwua/dao/DeptMapper.xml" />
<mapper resource="com/hwua/dao/EmpMapper.xml"/> -->
<!--一次性全部配置-->
<package name="com.hwua.dao"/>
</mappers>
</configuration>
2.创建与数据库对应的po类,提供get、set、toString方法
例如Dept:
package com.hwua.po;
import java.util.List;
public class Dept {
private int deptno;
private String dname;
private String loc;
private List<Emp> emps;
public List<Emp> getEmps() {
return emps;
}
public void setEmps(List<Emp> emps) {
this.emps = emps;
}
public Dept() {
super();
}
public int getDeptno() {
return deptno;
}
public void setDeptno(int deptno) {
this.deptno = deptno;
}
public String getDname() {
return dname;
}
public void setDname(String dname) {
this.dname = dname;
}
public String getLoc() {
return loc;
}
public void setLoc(String loc) {
this.loc = loc;
}
@Override
public String toString() {
return "Dept [deptno=" + deptno + ", dname=" + dname + ", loc=" + loc + ", emps=" + emps + "]";
}
}
3.创建与Dept对应的接口类:DeptDao
接口类主要提供方法
package com.hwua.dao;
import java.util.List;
import java.util.Map;
import com.hwua.po.Dept;
public interface DeptDao {
//查找全部
public List<Dept> SelectAll();
//根据id查找
public Dept findById(int deptno);
//添加
public void insert(Dept d);
//修改
public void update(Dept d);
//删除
public void Delete(int deptno);
//查询部门编号,显示所有此部门的员工
public Dept findByIdDetial(int deptno);
}
4.创建DeptDao.xml配置文件
*标签中的id为接口方法中的方法名
resultType为返回的结果类型
parameterType为传入值的类型*
<?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="com.hwua.dao.DeptDao">
<!-- 查找全部 -->
<select id="SelectAll" resultType="com.hwua.po.Dept">
select * from dept
</select>
<!-- 根据id查找 -->
<select id="findById" resultType="com.hwua.po.Dept" parameterType="int">
select * from dept where deptno = #{deptno}
</select>
<!-- 添加 -->
<insert id="insert" parameterType="dept">
insert into dept(deptno,dname,loc)
values(#{deptno},#{dname},#{loc})
</insert>
<!-- 修改 -->
<update id="update" parameterType="dept">
update dept set dname = #{dname},loc = #{loc} where deptno = #{deptno}
</update>
<!-- 删除 -->
<delete id="Delete" parameterType="int">
Delete from dept where deptno = #{deptno}
</delete>
<mapper>
5.调用
public void helloDept() {
//读取mybatis配置文件
InputStream in = Test.class.getClassLoader()
.getResourceAsStream("mybatis.xml");
//通过SqlSessionFactoryBuilder工具类获取factory,再通过其获取到SqlSession
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = builder.build(in);
SqlSession sqlSession = factory.openSession();
//获取映射器
DeptDao dd = sqlSession.getMapper(DeptDao.class);
int deptno = 10;
Dept d = dd.findById(deptno);
System.out.println(d);
}