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();
}
}
然后新建一个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对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树