mybatis第2天

MVC:

(1)什么是MVC?

model vies controller

一种软件架构模式,主要思想是,将一个软件的组成部分划分成三种不同的类型模块:分别是

模块(封装业务逻辑)、视图(表示逻辑)、控制器(流程控制逻辑)

模型,负责业务逻辑:

业务数据的加工规则以及保障

业务逻辑能够正常执行所添加的一些基础服务,比如事务、安全、日志、性能等等。

视图,表示逻辑:

业务数据的展现以及用户操作的界面。

控制器,负责流程控制:

视图向控制器发送请求,控制器依据一定的规则,调用对应的模型来处理请求;

模型处理的结果发送给控制器,控制器选择合适的视图,生成相应的界面,提供给用户。

(2)MVC的优点:
a,可以实现模型的共享,即一个模型可以被
多个不同的视图来调用,模型产生的数据,也
可以由不同的视图来展现(模型的复用)。
b,方便测试(比如在web应用当中,如果将
业务逻辑写在servlet当中,必须启动服务器,
重新部署,才能测试,如果写在java类当中,则
可以直接测试)。
(3)在web应用当中,如何应用mvc?
模型:
使用java类或者容器管理的bean(比如
ejb容器管理的ejb,spring容器管理的
javabean)来实现。
视图:
jsp(html,css,js,少量的java代码)
控制器:
servlet/filter来实现。
视图向控制器发送请求,控制器分析请求,调用
模型来处理,处理的结果返回给控制器,由控制器
选择一个合适的视图生成对应的界面展示给用户。


mybatis:

#在生成SQL时,对于字符类型参数,会拼装引号
$在生成SQL时,不会拼装引号,可用于order by之类的参数拼装
<select id="findByName" resultMap="userMap">
  select * from t_user where u_userName like '%${ userName }%';
  </select>
List list = session.selectList("user.findByName", map);

批量删除

<deleteid="delMore">

  delete from t_user where u_id in(

  <foreach collection="ids"item="id" separator=",">

  #{id}

  </foreach>

  )

  </delete>

collection为用于遍历的元素(必选),支持数组、List、Set
item表示集合中每一个元素进行迭代时的别名.
index指定一个名字,用于表示在迭代过程中,每次迭代到的位置.
open表示该语句以什么开始,
separator表示在每次进行迭代之间以什么符号作为分隔符.
close表示以什么结束.

<!-- 批量删除语法:delte from t_user id in(,,,,) -->
<delete id="batchDeleteUserBean">
delete from t_user where id in
<foreach collection="list" item="id" separator="," open="(" close=")">
#{id}
</foreach>
</delete>

xml文件的内部关联和外部调用:

<!-- xml文件直接调用,外部用session调用 -->
<association property="wife" column="id" select="com.lovo.my.dao.IWifeDao.findWifeBeanByHusband" javaType="WifeBean"/>

<!--javaType 定义一个转换类型,传入的wife对象转换为wifeBean类型-->


<!-- 所有的关联查询中,column=""这一部分,一定是后面方法所需要的 -->
<association property="husband" column="fk_husband" select="com.lovo.my.mapper.IHusabandBean.findHusbandBeanById" javaType="HusbandBean"></association>

<!-- 自定义映射关系 -->
<resultMap type="UserBean" id="userMap">
<result property="id" column="id" />
<result property="userName" column="user_name"/>
<result property="password" column="password"/>
<result property="sex" column="sex"/>
<result property="salary" column="salary" javaType="Inter" jdbcType="Double" />
</resultMap>

<!-- one2one关联查询,方式1 -->
<association property="husband" javaType="HusbandBean">
<result property="id" column="hid" javaType="java.lang.Integer"/>
<result property="husbandName" column="hhusband" javaType="java.lang.String"/>
</association>














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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值