使用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. java(try块语句变量,和匿名类变量生存时间

    在try块定义的变量不能作用于快外 // int a=2; try{ int a=3; System.out.println(a); } catch(Exception e){} System.out ...

  2. sql查询语句心得

    1)where 有多个用in ,一个用= 2)自身链接 select A.Sno from S A,S B where A.Sname='a' AND A.City=B.City)) 3)外链接(同时 ...

  3. Java学习笔记——实现一个简易记事本Notepad的编写

    记事本功能介绍 1.   新建:记事本清空. 2.   打开:可打开笔记本上任意文本文件. 3.   保存:将文件保存至当前文件夹. 4.   另存为:将文件保存至任意位置. 5.   退出:退出时确 ...

  4. PHP学习系列(1)——字符串处理函数(4)

    16.hebrevc() 函数把希伯来文本从右至左的流转换为左至右的流.它也会把新行 (\n) 转换为 <br />.只有 224 至 251 之间的 ASCII 字符,以及标点符号受到影 ...

  5. WINDOW下php开启pgsql拓展

    操作步骤: 1.修改php.ini,去掉“extension=php_pgsql.dll ”和“extension=php_pdo_pgsql.dll ”前的分号.2.确认C:\php\ext\下ph ...

  6. Centos+nginx+uwsgi+Python多站点环境搭建

    前言 新公司的第一个项目,服务器端打算用python作为restful api.所以需要在Centos上搭建nginx+fastcgi+python的开发环境,但后面网上很多言论都说uwsgi比fas ...

  7. Visual Studio调试之断点进阶篇

    Visual Studio调试之断点进阶篇 在上一篇文章Visual Studio调试之断点基础篇里面介绍了什么是断点,INT 是Intel系列CPU的一个指令,可以让程序产生一个中断或者异常.程序中 ...

  8. ANTLR

    http://dreamhead.blogbus.com/logs/10756716.html

  9. uva10003 Cutting Sticks

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  10. BZOJ 1211 树的计数

    http://www.lydsy.com/JudgeOnline/problem.php?id=1211 思路:每一个prufer编码都代表了一棵树,而点的度数,代表了它在prufer编码中出现的次数 ...