mybatis高级(2)_数据库中的列和实体类不匹配时的两种解决方法_模糊查询_只能标签

<?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.cnsdhzzl.dao.StudentDao">

    <!-- 当数据库中的列和实体类不匹配时,方法一使用resultMapper -->
    <resultMap type="student" id="studentMapper">
        <!-- 数据库中的列,实体类的属性 -->
        <result column="dataName" property="entityName" />
    </resultMap>
    <!-- 当数据库中的列和实体类不匹配时,方法二语句中使用as,数据库中的列 as 实体类的属性 -->

    <!-- 返回集合要加resultType -->
    <select id="findStudent" resultType="student">
        select * from student
    </select>

    <!-- sql语句区分数据库,以下使用oracle数据库拼接语句使用|| -->

    <!-- 传入map集合时参数需要使用map的key -->
    <select id="likeStudent" resultType="student">
        <!-- 传入map -->
        select * from student where name like ‘%‘||#{mname}||‘%‘ and address
        like ‘%‘||#{maddress}||‘%‘
        <!-- 传入零散参数 -->
        <!-- select * from student where name like ‘%‘||#{0}||‘%‘ and address like
            ‘%‘||#{1}||‘%‘ -->
    </select>

    <!-- 智能标签 -->
    <select id="smartTag" resultType="student">
        select * from student
        <if test="name !=null">
            and name like ‘%‘||#{name}||‘%‘
        </if>
        <if test="address !=null">
            and address like ‘%‘||#{address}||‘%‘
        </if>
    </select>
</mapper>
时间: 2024-10-26 00:41:26

mybatis高级(2)_数据库中的列和实体类不匹配时的两种解决方法_模糊查询_只能标签的相关文章

数据库中信息存放到 实体类中

把数据库中信息存放到 实体类中,实体类设置值 Tb_pay tb_pay = payDAO.find(userid,Integer.parseInt(strno)); txtMoney.setText(String.valueOf(tb_pay.getMoney()));// 显示金额 txtTime.setText(tb_pay.getTime());// 显示时间 spType.setSelection(tb_pay.getType()-1);// 显示类别 txtHA.setText(tb

解决jquery中动态新增的元素节点无法触发事件的问题有两种解决方法

解决jquery中动态新增的元素节点无法触发事件的问题有两种解决方法,如下: 为了达到更好的演示效果,假设在某个页面的body下有以下结构的代码: ? 1 2 3 4 5 6 7 8 9 10 11 <p id="pLabel">新加一条</p> <ul id="ulLabel">  <li class="liLabel">aaa1</li>  <li class="li

关于mybatis中的实体类属性与数据库中的列名不一致的两种解决方法

1.我们都知道,在mybatis中写实体类的时候,是按照数据库中的列名来给实体类定义属性的,举个例子: public class User implements Serializable { private Integer id; private String username; private String address; private String sex; private Date birthday; } 2.但是,如果我们在定义实体类的时候,实体类中的属性与数据库列名不一致呢?比如:

mssql sqlserver 表增加列后,视图不会自动更新相关列的两种解决方法分享

摘要: 今天对物理数据表,进行增加列操作后,程序一直显示无法找到相应列,通过仔细比对发现,视图中无相应列更新,下文将具体的解决方法分享如下: 例: create view vw_test as select * from tableName go ---当我们在表tableName中新增列之,再次查询vw_test ---依然未发现相应列的存在. ----解决方法1:删除原视图,重新创建视图 drop view vw_test go create view vw_test as select *

将文件放到Android模拟器的SD卡中的两种解决方法

两种方式:一.窗口界面操作1.打开DDMS页面2.打开File Explorer页,如果没有,在Window --> Show View -->File Explorer3.一般就在mnt --> sdcard中4.在sdcard中,点击你要将文件放到的目的文件夹,这里如mp3文件夹5.点击文件夹后,在File Explorer页的右边有两个图标,一个是pull,一个是push,pull是将mp3里面的文件拉出去,push是将外面,如硬盘上的文件推到mp3文件夹里面来. 二.命令行方式启

数据库中的表转换为实体类(.java文件)

在Myeclipse中配置连接数据库,将表转换为.java文件,节约时间,提高编程效率. 在Myeclipse中 点击window -->open perspective -->other  -->Myeclipse  Hibernate  界面上会出现DB Broswer区域,在它的区域中点击右键 -->new 在DB Browser中会出现刚才注册的Drivername 找到需要的表,右键 -->Hibernate Reserve Engineering    -->

Vmvare中NAT模式静态ip不能连外网的一种解决方法

在使用vmware的过程中,一直都是dhcp自动分配ip,从没有使用过static ip.这次修改为static ip主要是由于复制的两台虚机ip冲突,然后就开始各种ping外网无效的问题,百度了很多也没有解决,在摸索中得到一种解决方案,未必对其他主机有效. 1.查看dhcp下的网络运行状态 从上述状态可知,网络没有任何问题 2.下面我们使用static ip,指定ip为192.168.163.226 需要注意的是static ip同样需要向dhcp服务器租用,刚开始我设置为了192.168.1

eclipse中不能找到dubbo.xsd报错”cvc-complex-type.2.4.c“的 两种解决方法

配置dubbo环境过程中的xml文件,安装官网的demo配置好后,出错: "Description Resource Path Location Type cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'dubbo:service'. applicationContext.xml /dubboprovider/src line 29 XML

linux shell中不显示路径了,显示为-bash-4.1#的两种解决办法

出现这个问题的原因是因为没有配置.bash_profile的问题,或者是我们不小心清空或删除了.bash_profile文件. 办法一:修改 ~/.bash_profile文件 步骤如下: vim ~/.bash_profile (不用管.bash_profile这个文件有几个,自己新建一个也是可以的) 在最后加上 export PS1='[\[email protected]\h \W]\$' 然后执行 source ~/.bash_profile 这样shell就可以显示路径了. 方法二:拷