MyBatis初学者配置
小配置
<?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="cn.entity.Dept">
<!-- id:唯一标识:通过此id,程序可唯一锁定一条SQL
parameterType:参数类型
resultType:结果类型
-->
<sql id="columns">
deptid,deptname
</sql>
<!-- 查询部分列*号用别名 -->
<select id="selectSql" resultType="cn.entity.Dept">
select <include refid="columns"></include> from Dept
</select> <resultMap id="Dept" type="cn.entity.Dept">
<result property="deptid" column="deptid"></result>
</resultMap>
<!-- 查询所有部门信息 -->
<select id="selectDept" resultMap="Dept">
select * from Dept
</select>
<!-- 带条件查询 -->
<select id="selectDeptById" parameterType="cn.entity.Dept" resultType="cn.entity.Dept">
select * from Dept where deptid=#{deptid}
</select>
<!-- 添加部门信息 -->
<insert id="insertDept" parameterType="cn.entity.Dept">
insert into Dept(deptname) values(#{deptname})
</insert> <!-- 删除部门信息 -->
<delete id="deleteDept" parameterType="cn.entity.Dept">
delete from Dept where deptid=#{deptid}
</delete>
<!-- 修改部门信息 -->
<update id="updateDept" parameterType="cn.entity.Dept">
update Dept set deptname=#{deptname} where deptid=#{deptid}
</update>
<!-- 模糊查询 -->
<select id="likeDept" resultType="cn.entity.Dept" parameterType="cn.entity.Dept">
select * from Dept where deptname like '%${deptname}%'
</select>
<!-- 智能标签where 动态查询 -->
<select id="selectDeptDynamic" parameterType="cn.entity.Dept" resultType="cn.entity.Dept">
select * from Dept
<where>
<if test="deptid!=null">
and deptid=#{deptid}
</if>
<if test="deptname!=null">
and deptname=#{deptname}
</if>
</where>
</select>
<!-- 智能标签set更新 -->
<update id="updatesetDept" parameterType="cn.entity.Dept" >
update Dept
<set>
<if test="deptid!=null">deptid=#{deptid},</if>
<if test="deptname!=null">deptname=#{deptname},</if>
</set>
where deptid=#{deptid}
</update> </mapper>
大配置
<?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>
<environments default="development">
<environment id="development">
<!-- 事务策略是JDBC -->
<transactionManager type="JDBC" />
<!-- 数据源的方式 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://120.25.78.77:3306/zc" />
<property name="username" value="zc" />
<property name="password" value="zc" />
</dataSource>
</environment>
</environments>
<!--映射文件:描述某个实体和数据库表的对应关系 -->
<mappers>
<mapper resource="cn/entity/Dept.xml" />
</mappers>
</configuration>
测试类
package cn.test; import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
import java.util.List; import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test; import cn.entity.Dept; public class MybatisTest { SqlSession session;
@Before
public void initData() throws FileNotFoundException{
//1.1 SqlSessionFactoryBuilder
SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder(); //1.2 SqlSesssionFactory
Reader reader=new FileReader("src/mybatis-config.xml");
SqlSessionFactory factory = builder.build(reader); //1.3 SqlSession
session= factory.openSession();
}
/**
* 查询所有部门所有信息
* @throws IOException
*/
@Test
public void selectDeptTest() throws IOException
{
List<Dept> list = session.selectList("selectDept");
for (Dept dept : list) {
System.out.println(dept.getDeptname());
}
session.close();
}
/**
* 增加
*/
@Test
public void insertDeptTest()
{
Dept dt=new Dept();
dt.setDeptname("大牛部");
int count =session.insert("insertDept",dt);
System.out.println(count);
session.close(); }
/**
* 带条件查询
*/
@Test
public void selectDeptByIdTest()
{
Dept dt= new Dept();
dt.setDeptid(1);
Dept dept=session.selectOne("selectDeptById",dt);
System.out.println(dept.getDeptname());
session.close(); }
/**
* 删除
*/
@Test
public void deleteDeptTest()
{
Dept dt=new Dept();
dt.setDeptid(3);
int count = session.delete("deleteDept",dt);
session.commit();
System.out.println(count);
session.close();
}
/**
* 修改
*/
@Test
public void updateDeptTest()
{
Dept dt=new Dept();
dt.setDeptid(1);
dt.setDeptname("公关部");
int count = session.update("updateDept",dt);
session.commit();
System.out.println(count);
session.close();
}
/**
* 模糊查询
*
*/
@Test
public void likeDeptTest()
{
Dept dt=new Dept();
dt.setDeptname("公");
List<Dept> list = session.selectList("likeDept",dt);
for (Dept dept : list) {
System.out.println(dept.getDeptname());
}
session.close(); }
/**
* 别名查询
*/
@Test
public void selectSqlTest() {
List<Dept> list = session.selectList("selectSql");
for (Dept dept : list) {
System.out.println(dept.getDeptname());
}
session.close(); }
/**
* 智能标签where进行动态查询
*/ @Test
public void dynamicWhereTest() throws Exception{
Dept dept=new Dept();
//代表前台用户同时使用 部门编号 和 部门名称 发起了 检索
dept.setDeptname("公关部");
dept.setDeptid(1); List<Dept> list=session.selectList("selectDeptDynamic",dept);
for (Dept dt : list) {
System.out.println(dt.getDeptname());
}
session.close();
}
/**
* 智能标签set更新
*
*/
@Test
public void updatesetDeptTest()
{
Dept dt=new Dept();
dt.setDeptid(1);
dt.setDeptname("公布部");
int count = session.update("updatesetDept",dt);
session.commit();
System.out.println(count);
session.close();
} }
MyBatis初学者配置的更多相关文章
- Mybatis XML配置
Mybatis常用带有禁用缓存的XML配置 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE ...
- MyBatis Cache配置
@(MyBatis)[Cache] MyBatis Cache配置 MyBatis提供了一级缓存和二级缓存 配置 全局配置 配置 说明 默认值 可选值 cacheEnabled 全局缓存的开关 tru ...
- spring和mybatis整合配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- SSM ( Spring 、 SpringMVC 和 Mybatis )配置详解
使用 SSM ( Spring . SpringMVC 和 Mybatis )已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没 ...
- Mybatis中配置Mapper的方法
在这篇文章中我主要想讲一下Mybatis配置文件中mappers元素的配置.关于基础部分的内容可以参考http://haohaoxuexi.iteye.com/blog/1333271. 我们知道在M ...
- MyBatis 实践 -配置
MyBatis 实践 标签: Java与存储 Configuration mybatis-configuration.xml是MyBatis的全局配置文件(文件名任意),其配置内容和顺序如下: pro ...
- SpringMVC+Mybatis+MySQL配置Redis缓存
SpringMVC+Mybatis+MySQL配置Redis缓存 1.准备环境: SpringMVC:spring-framework-4.3.5.RELEASE-dist Mybatis:3.4.2 ...
- spring整合mybatis(hibernate)配置
一.Spring整合配置Mybatis spring整合mybatis可以不需要mybatis-config.xml配置文件,直接通过spring配置文件一步到位.一般需要具备如下几个基本配置. 1. ...
- 笔记:MyBatis XML配置详解
MyBatis 的配置文件包含了影响 MyBatis 行为甚深的设置(settings)和属性(properties)信息.文档的顶层结构如下: configuration 配置 properties ...
随机推荐
- mysql中pager命令妙用
pager命令的妙用在mysql,可以大大提高工作效率. 一 当处理大量数据时,不想显示查询的结果,而只需知道查询话费的时间. mysql> select * from t3; +----- ...
- CRT远程连接server字符输出乱码解决一例
CRT远程连接server字符输出乱码解决一例 环境: server:Centos 6.2 远端:win 7 CRT版本号:7.1.1 现象回想: 1.server端:中文字符显示正常,例如以下: 2 ...
- Ubuntu 14.04 下手动安装Firefox的Flash插件
有时候我们不得不採用手动安装一些软件. Ubuntu 14.04 下手动安装Firefox的Flash插件有下面几步 1. 下载Flash插件 下载地址为http://get.adobe.com/cn ...
- C++中的static成员
C++中的static 成员永远是我心中的痛,记了好多次了,但是今天在项目中依然忘记了,今天写下来,方便以后不用再去Baidu.google搜索了. 在头文件中声明静态成员 static int i; ...
- (三)《Java编程思想》——构造函数初始化
1.初始化顺序是由变量在类内的定义顺序决定的,并且先初始化变量,然后才调用构造函数. package chapter4; //: OrderOfInitialization.java /** * 初始 ...
- arcmap从excel坐标数据生成点shp文件
概述 今天试图在ArcMap中将excel数据转成点文件,在"Display XY Data"的时候,无法选择X,Y字段,很是纳闷,原来Excel中列的格式是文本,导致无法选择.有 ...
- arcgis server manager - An error has occured on the server. For details please check the Event (Application) log on the web.
当登陆 Arcgis Server Manager的时候,点击 "Services" 中的选项"Manage Services",就报错: An error h ...
- reason: 'Could not instantiate class named MKMapView'
详细原因: 拖入MapView直接运行,结果报错 解决:在Xcode导入MapKit.framework既可
- JS正则验证格式
function test() { var temp = document.getElementById("text1"); //对电子邮件的验证 var myreg = /^([ ...
- [转载]C++ 堆与栈简单的介绍
在C和C++中,有三种使用存储区的基本方式: [静态存储区(Static Memory)] 在静态存储区中,连接器(linker)根据程序的需求为对象分配空间.全局变量.静态类成员以及函数中的静态 ...