使用mybatis数据库时,需要添加一下jar包:

asm-3.3.1.jar
cglib-2.2.2.jar
javassist-3.17.1-GA.jar
log4j-1.2.17.jar
mybatis-3.2.2.jar
slf4j-api-1.7.5.jar
slf4j-log4j12-1.7.5.jar

当然了,数据库驱动jar包不能忘记添加,mybatis jar包可以从官网上下载。

下面是mybatis的使用:

Dept.java

package com.entity;

public class Dept implements java.io.Serializable {

    private Integer id;
private String name;
private String location; public Dept() {
} // Property accessors public Integer getId() {
return this.id;
} public void setId(Integer id) {
this.id = id;
} public String getName() {
return this.name;
} public void setName(String name) {
this.name = name;
} public String getLocation() {
return this.location;
} public void setLocation(String location) {
this.location = location;
} }

Dao包中的接口DeptDao.java

package com.dao;

import java.util.List;

import com.entity.Dept;

/**
* 全新环境下的老代码
* @author
* @date 2015年12月3日 下午4:27:36
*/
public interface DeptDao { public void insertDept(Dept dept); public void updateDept(Dept dept); public void deleteDept(int id); public List<Dept> selAll(); }

DeptDaoMapper.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="com.dao.DeptDao">
<resultMap id="deptResultMap" type="com.entity.Dept">
<id property="id" column="id" />
<result property="name" column="name" />
<result property="location" column="location" />
<result property="job" column="job" />
</resultMap>
<insert id="insertDept" parameterType="Dept">
insert into dept(id,name,location) values(seq_dept_id.nextval,#{name},#{location})
</insert>
<update id="updateDept" parameterType="Dept">
update dept set name=#{name},location=#{location} where id=#{id}
</update>
<delete id="deleteDept" parameterType="Dept">
delete dept where id=#{id}
</delete>
<select id="selectAll" resultType="Dept">
select * from dept
</select>
</mapper>

DeptDao接口的实现类DeptDaoImpl.java

package com.dao.impl;

import java.io.IOException;
import java.io.Reader;
import java.util.ArrayList;
import java.util.List; import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder; import com.dao.DeptDao;
import com.entity.Dept; public class DeptDaoImpl implements DeptDao { @Override
//增加
public void insertDept(Dept dept) {
//1.指定数据源
String resource="mybatis-config.xml";
//构建sqlsf对象
SqlSessionFactory factory=null;
//sqlsession
SqlSession session=null;
//Reader对象
Reader reader=null;
try {
//获取reader对象
reader=Resources.getResourceAsReader(resource);
//工厂生成器
SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
//得到工厂
factory=builder.build(reader);
//得到session
session=factory.openSession();
session.insert("insertDept", dept);
//增删改需提交事务
session.commit();
System.out.println("添加成功了");
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
reader.close();
session.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} } @Override
//修改
public void updateDept(Dept dept) {
//1.指定数据源
String resource="mybatis-config.xml";
//构建sqlsf对象
SqlSessionFactory factory=null;
//sqlsession
SqlSession session=null;
//Reader对象
Reader reader=null;
try {
//获取reader对象
reader=Resources.getResourceAsReader(resource);
//工厂生成器
SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
//得到工厂
factory=builder.build(reader);
//得到session
session=factory.openSession();
session.update("updateDept", dept);
//增删改需提交事务
session.commit();
System.out.println("修改成功了");
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
reader.close();
session.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} } @Override
//删除
public void deleteDept(int id) {
//1.指定数据源
String resource="mybatis-config.xml";
//构建sqlsf对象
SqlSessionFactory factory=null;
//sqlsession
SqlSession session=null;
//Reader对象
Reader reader=null;
try {
//获取reader对象
reader=Resources.getResourceAsReader(resource);
//工厂生成器
SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
//得到工厂
factory=builder.build(reader);
//得到session
session=factory.openSession();
session.delete("deleteDept", id);
//增删改需提交事务
session.commit();
System.out.println("删除成功了");
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
reader.close();
session.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} } @Override
//查询所有
public List<Dept> selAll() {
List<Dept> list=new ArrayList<Dept>();
//1.指定数据源
String resource="mybatis-config.xml";
//构建sqlsf对象
SqlSessionFactory factory=null;
//sqlsession
SqlSession session=null;
//Reader对象
Reader reader=null;
try {
//获取reader对象
reader=Resources.getResourceAsReader(resource);
//工厂生成器
SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
//得到工厂
factory=builder.build(reader);
//得到session
session=factory.openSession();
list=session.selectList("selectAll");
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
reader.close();
session.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return list;
} }

mybatis-config.xml,配置文件,放在src根目录下

<?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 alias="Dept" type="com.entity.Dept"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="UNPOOLED">
<property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@192.168.40.128:1521:orcl"/>
<property name="username" value="thunder"/>
<property name="password" value="admin"/>
</dataSource>
</environment>
</environments> <mappers>
<mapper resource="com/dao/DeptDaoMapper.xml"/>
</mappers>
</configuration>

测试方法:

public static void main(String[] args) {
DeptDao dd=new DeptDaoImpl();
Dept dept=new Dept();
//添加
// dept.setName("就业部");
// dept.setLocation("柒角旮旯");
// dd.insertDept(dept);
//修改
// dept.setId(20);
// dept.setName("城管部");
// dept.setLocation("你猜,你猜,猜对了我就告诉你");
// dd.updateDept(dept); //删除
// dd.deleteDept(20);
//查询所有
List<Dept> list=dd.selAll();
for (Dept d : list) {
System.out.println(d.getName()+"---------"+d.getLocation());
}
}

以上就是简单的mybatis使用小例子,当然,项目中的使用会复杂很多,重点是DeptDaoMapper.xml文件中sql语句的设计,以及实现类中传值,其他的应该不是很难。

mybatis的简单使用的更多相关文章

  1. Mybatis框架简单使用

    Mybatis框架简单使用 环境搭建 新建一个JavaWeb项目,在web\WEB-INF\创建lib文件,并且在其下添加Mybatis的核心包以及依赖包,以及Mysql驱动包,junit4测试包等. ...

  2. MyBatis(1)-简单入门

    简介 什么是 MyBatis ? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.My ...

  3. MyBatis 使用简单的 XML或注解用于配置和原始映射

    MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .My ...

  4. 单独使用MyBatis的简单示例

    单独使用MyBatis的简单示例:mybaties-config.xml:MyBatis配置文件 <?xml version="1.0" encoding="UTF ...

  5. Mybatis的简单增删改查

    刚开始学习Mybatis可以先看下官方文档,MyBatis是支持定制化SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis避免了几乎所有的JDBC代码和手工设置参数以及抽取结果集.MyBat ...

  6. Mybatis实现简单的CRUD(增删改查)原理及实例分析

    Mybatis实现简单的CRUD(增删改查) 用到的数据库: CREATE DATABASE `mybatis`; USE `mybatis`; DROP TABLE IF EXISTS `user` ...

  7. Mybatis实现简单增删改查

    Mybatis的简单应用 学习内容: 需求 环境准备 代码 总结: 学习内容: 需求 使用Mybatis实现简单增删改查(以下是在IDEA中实现的,其他开发工具中,代码一样) jar 包下载:http ...

  8. MyBatis学习--简单的增删改查

    jdbc程序 在学习MyBatis的时候先简单了解下JDBC编程的方式,我们以一个简单的查询为例,使用JDBC编程,如下: Public static void main(String[] args) ...

  9. Mybatis的简单示例

    首先新建一个JavaWeb项目并导入mybatis依赖的jar包,同时Mybatis是对数据库的操作所以我们需要在数据库中新建一个表user用来演示. 新建完表之后我们还需要建立相对应的实体类User ...

  10. MyBatis的简单操作

    这里将的是简单的增.删.改.查等基本操作 首先创建java项目,导入相应的依赖包,这里可以参考上一篇博客 1.添加数据 在jike.book.pojo包中,新建java类 JiKeUser.java: ...

随机推荐

  1. windows下安装mysql笔记

    接着上几篇文章再来看下windows下安装mysql. 我这里是windows7 64位, 安装过程中还是遇到一些坑,这里记录下. 一.下载安装包 打开mysql官网下载页面:http://dev.m ...

  2. C#实现MySQL数据库中的blob数据存储

    在MySQL数据库中,有一种blob数据类型,用来存储文件.C#编程语言操作MySQL数据库需要使用MySQL官方组件MySQL.Data.dll. Mysql.Data.dll(6.9.6)组件下载 ...

  3. php页面显示空白

    问题: 本人php初学者,网站下载wamp5,安装好之后,测试环境是否正常,用phpinfo(),但是页面不能正确显示. 1.显示连接错误 2.显示空白页 解决方法: 一.显示连接错误 步骤: 1.p ...

  4. 在线编辑器kindEditor

    操作文档:http://kindeditor.net/doc.php 文件下载

  5. 修改浏览器的User-Agent来伪装你的浏览器和操作系统

    近期很多文章都提到了User-Agent (UA) 字符串,但大部分网友都不知道这个东西有什么用处.其实简单的说User-Agent就是客户端浏览器等应用程序使用的一种特殊的网络协议,在每次浏览器(邮 ...

  6. 文成小盆友python-num11-(2) python操作Memcache Redis

    本部分主要内容: python操作memcache python操作redis 一.python 操作 memcache memcache是一套分布式的高速缓存系统,由LiveJournal的Brad ...

  7. 关于iOS上的对象映射公用方法-备

    具体的使用方法,请见下面说明,或者见工程里的单元测试代码.或者,参考原始文档: https://github.com/mystcolor/JTObjectMapping 使用方法 ======== 绝 ...

  8. Javascript Promise 学习(上)

    Promise 就是处理异步的一个规范方法 a();b();alert("a");如果a() 里面有一个ajax 或者settimeout 那么alert("a" ...

  9. IE 将“通过域访问数据源”设置为启用(注册表)

    XP HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\1\1406 Vista+ HKCU\Softwar ...

  10. AcitonBar 自定义布局

    Android系统中ActionBar默认的布局不美观且难于控制,通过为ActionBar自定义布局的方式可以灵活控制ActionBar. 自定义Activity主题和ActionBar样式 在新建的 ...