Mybatis的配置与使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

以下详细说明了mybatis配置环境,与使用方式(CRUD)。

提示:以下是本篇文章正文内容,下面案例可供参考

一、Mybatis所用jar包

提取码:xyz1

其中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);
	}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值