您的位置:首页 > 数据库 > Oracle

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

2015-12-20 22:16 603 查看
首先在数据库创建一个部门表,如下所示:



然后新建一个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.
4000
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();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java MyBatis 框架 j2ee