MyBatis框架增删改查(Oracle数据库)


首先在数据库创建一个部门表,如下所示:


然后新建一个web项目,项目列表如下图所示

把两个jar包拷到lib下面,并且add biuld path.

创建实体类DeptEntity,具体代码如下:

package com.entity;


public class DeptEntity {
private Integer deptno;
private String dname;
private String loc;
//创建一个空的构造函数
public DeptEntity() {
}

//创建一个带参的构造函数
public DeptEntity(String dname, String loc) {
super();
this.dname = dname;
this.loc = loc;
}

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;
}
public String getLoc() {
return loc;
}
public void setLoc(String loc) {
this.loc = loc;
}
}

然后配置总配置文件conf.xml,代码如下:

<?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>

//这里起一个别名
<typeAliases>
<typeAlias type="com.entity.DeptEntity" alias="DeptEntity"/>
</typeAliases>

//这里是开发模式
<environments default="development">
<environment id="development">

//事务
<transactionManager type="JDBC"/>

//这里是连接数据库的相关配置,连接池
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl"/>
<property name="username" value="scott"/>
<property name="password" value="sa"/>
</dataSource>
</environment>
</environments>

//把映射文件配置进来

<mappers>
<mapper resource="com/xml/Dept.xml"/>
</mappers>
</configuration>

然后配置dept.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="dp">

//查询的配置
<select id="getDept" resultType="DeptEntity">
select * from dept 
</select>

//新增的配置,注意,#表示preparestatement的占位符,#{deptno}表示是调用的时候传进去的值
<insert id="addDept" parameterType="DeptEntity">
insert into dept (deptno,dname,loc) values(#{deptno},#{dname},#{loc})
</insert>

//修改的配置
<update id="updateDept" parameterType="DeptEntity">
update dept set dname=#{dname} where deptno=#{deptno}
</update>

//删除的配置
<delete id="delDept" parameterType="DeptEntity">
delete from dept where deptno=#{deptno}
</delete>
</mapper>

最后写测试类test。代码:

package com.test;


import java.io.FileInputStream;
import java.io.IOException;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;


import com.entity.DeptEntity;


public class Test {
SqlSession session;

//查询方法
public void query() {
try {

//使用SqlSessionFactoryBuilder从xml配置文件中创建SqlSessionFactory
SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(new FileInputStream("src/conf.xml"));

// 创建数据库会话实例session
session=sessionFactory.openSession();

//调用session的查询方法,注意dp是命名空间的名字,getDept是查询配置的ID
List<DeptEntity> deptlist=session.selectList("dp.getDept");

//遍历显示查询到的结果
for (DeptEntity deptEntity : deptlist) {
System.out.println(deptEntity.getDname()+","+deptEntity.getLoc());
}
} catch (IOException e) {
e.printStackTrace();
}finally
{
session.close();
}
}

//新增方法
public void insert()
{
try {
SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(new FileInputStream("src/conf.xml"));
session=sessionFactory.openSession();
DeptEntity dept=new DeptEntity();
dept.setDeptno(99);
dept.setDname("晓白");
dept.setLoc("湖北");
session.insert("dp.addDept",dept);

//注意一定要提交才会生效
session.commit();
} catch (Exception e) {
e.printStackTrace();
}finally
{
session.close();
}
}

//修改方法
public void update()
{
try {
SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(new FileInputStream("src/conf.xml"));
session=sessionFactory.openSession();
DeptEntity dept=new DeptEntity();
dept.setDeptno(44);
dept.setDname("花花");
//dept.setLoc("湖北");
session.update("dp.updateDept",dept);
session.commit();
} catch (Exception e) {
e.printStackTrace();
}finally
{
session.close();
}


}

//删除方法
public void delete()
{
try {
SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(new FileInputStream("src/conf.xml"));
session=sessionFactory.openSession();
DeptEntity dept=new DeptEntity();
dept.setDeptno(99);
session.delete("dp.delDept",dept);
session.commit();
} catch (Exception e) {
e.printStackTrace();
}finally
{
session.close();
}
}

//最后在main方法里调用上面的增删改查方法测试
public static void main(String[] args) {
Test t=new Test();
t.delete();
}
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值