动态sql片段 resultMap map多个参数 if拼接 注解 where set 分页查询

本文介绍了如何在MyBatis中使用命名空间、resultMap、map参数、if标签、where标签、set标签进行动态SQL拼接,并展示了分页查询的实现。文章通过一个具体的例子,演示了从配置文件到DAO接口再到Mapper XML的全过程,包括实体类、接口声明、XML配置和测试类的编写。
摘要由CSDN通过智能技术生成

2018年1月12日 23:08:17


要掌握在某类的配置文件写命名空间到dao包下类dao


要掌握在配置文件里取类型别名 resultMap别名


要掌握

resultType全查询

resultMap全查询

map多个参数查询

if拼接

注解

where

set

分页查询

模糊查询有个关键字'%',String,'%'

创建数据库的语句找不到类沾不了





项目WebRoot\WEB-INF\lib里粘贴四个包 添加依赖

mysql-connector-java-5.1.0-bin.jar

mybatis-3.2.2.jar

mybatis-3.2.2-sources.jar

log4j-1.2.16.jar





然后src里粘贴

database.properties

mybatis-config.xml

log4j.properties




工具包src\com\bdqn\titls创建工具类 返回sqlsession的session 以后要换成用单例模式

package com.bdqn.titls;


import java.io.IOException;
import java.io.InputStream;


import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;


public class SqlSessionUtils {
private static SqlSessionFactory sqlSessionFactory;
static{
try {

//加载配置文件 获得流
InputStream ipsInputStream=Resources.getResourceAsStream("mybatis-config.xml");

//工厂通过new 工厂builder().build流获得
sqlSessionFactory=new SqlSessionFactoryBuilder().build(ipsInputStream);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static SqlSession getSession(){
//不自动提交事物 false 以后由程序员commit手动提交 异常的话就回滚
SqlSession session=sqlSessionFactory.openSession(false);
return session;
}
public static void closeSession(SqlSession session){
if (session!=null) {
session.close();
}
}
}




实体包src\com\bdqn\entity建立实体类 实现序列化接口 各种标配方法

package com.bdqn.entity;


import java.io.Serializable;


public class User implements Serializable{
private int uId;
//private String uName;
private String uname;//如果这个类属性名和表名不一样
private String uPwd;
private String uPhone;
private String uAddress;
private String uBirthday;
public User() {
super();
}
// public User(int uId, String uName, String uPwd, String uPhone,
// String uAddress, String uBirthday) {
// super();
// this.uId = uId;
// this.uName = uName;
// this.uPwd = uPwd;
// this.uPhone = uPhone;
// this.uAddress = uAddress;
// this.uBirthday = uBirthday;
// }
// @Override
// public String toString() {
// return "User [uId=" + uId + ", uName=" + uName + ", uPwd=" + uPwd
// + ", uPhone=" + uPhone + ", uAddress=" + uAddress
// + ", uBirthday=" + uBirthday + "]";
// }
public int getuId() {
return uId;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值