当前位置: 首页 > news >正文

中央广播电视总台直播哪个合肥seo好

中央广播电视总台直播,哪个合肥seo好,长沙法律咨询网站设计开发,用axure做网站原型图目录 一、动态sql 1.set、if 2.foreach 二、转义符 三、缓存cache 1. 一级缓存 2. 二级缓存 一、动态sql 1.set、if 在update语句中使用set标签&#xff0c;动态更新set后的sql语句&#xff0c;&#xff0c;if作为判断条件。 <update id"updateStuent" pa…

目录

一、动态sql

1.set、if

2.foreach

二、转义符

三、缓存cache

1. 一级缓存

2. 二级缓存


一、动态sql

1.set、if

        在update语句中使用set标签,动态更新set后的sql语句,,if作为判断条件。

    <update id="updateStuent" parameterType="Student">update student<set><if test="num!=0">num=#{num},</if><if test="name!=null">name=#{name},</if><if test="gender!=0">gender=#{gender}</if></set>where id = #{id}</update>

2.foreach

foreach对集合进行遍历,尤其是in条件语句

    <delete id="deleteStudents" parameterType="list" >delete from student where id in<foreach collection="list" item="item" open="(" separator="," close=")">#{item}</foreach></delete>

collection 是传入参数名,item为元素名,separator代表元素之间的间隔符。  

详细动态sql可查看官网 :mybatis – MyBatis 3 | 动态 SQL

二、转义符

1.在 mybatis 中的 xml 文件,一些特殊符号需要转译:

特殊字符转译字符
<&lt;
"&quot;
&apos;
&&amp;
>&gt;

2.使用<![CDATA[]]> 

通过<![CDATA[ 特殊字符 ]]>包裹特殊字符也可以

    <!--转义字符   " <" 号会报错,">" 号不会报错  --><select id="findstuTurn" resultType="Student">select id,num,gender from student where num &lt; 1000</select><select id="findstuTurn2" resultType="Student">select id,num,gender from student where num <![CDATA[ < ]]> 1000</select>

注意:

  1.  " <" 号会报错,">" 号不会报错;
  2.  如果<![CDATA[ ]]> 里有<if> </if> <where> </where><choose> </choose> <trim> </trim> 等这些标签都不会被解析,所以只把有特殊字符的语句放在 <![CDATA[ ]]> 尽量缩小<![CDATA[ ]]>的范围。 

三、缓存cache

缓存作用:让程序更快的访问数据,减少对数据库的访问压力。

缓存原理:从数据库中查询出来的对象在使用完后不要销毁,而是存储在内存(缓存)中,当再次需要获取该对象时,直接从内存(缓存)中直接获取,不再向数据库执行select 语句,从而减少了对数据库的查询次数,因此提高了数据库的性能。

mybatis有两种缓存方式:

1. 一级缓存

     在同一个SqlSession中执行相同的sql且参数也相同(完全相同的sql查询),第二次查询时,直接从sqlSession中获取,而不再从数据库中获取。   在没有默认配置情况下,mybatis开启一级缓存。

例如:

     @Testvoid testCache(){SqlSession sqlSession = MybatisUtil.getSqlsession();StudentDao studentDao =  sqlSession.getMapper(StudentDao.class);List<Student> students = studentDao.findstuTurn();System.out.println(students);List<Student> student2= studentDao.findstuTurn();sqlSession.commit();sqlSession.close();}

日志中只显示一条查询 

 

一级缓存失效:

  1. sqlSession.close();
  2. sqlSession.clearCache();
  3. SqlSession 中执行了任何一个修改操作(update()、delete()、insert()) ,都会清空缓存的数据。

2. 二级缓存

二级缓存是 SqlSessionFactory 级别的,数据存放在SqlSessionFactory中。

需要手动启动:

1.在核心配置文件中开启二级缓存:

        <!--开启二级缓存--><setting name="cacheEnabled" value="true"/>

2.将 POJO 类实现序列化接口:

        implements Serializable

3.在mapper映射文件中添加cache标签,表示此mapper开启二级缓存:

    <cache flushInterval="100000" ></cache>

 flushInterval可以设置刷新时间(缓存失效)

当 SqlSeesion 关闭时,会将数据存入到二级缓存。

示例:

    @Testvoid testCache1(){SqlSession sqlSession = MybatisUtil.getSqlsession();StudentDao studentDao =  sqlSession.getMapper(StudentDao.class);List<Student> students = studentDao.findstuTurn();System.out.println(students);sqlSession.commit();//sqlSession关闭sqlSession.close();SqlSession sqlSession2 = MybatisUtil.getSqlsession();StudentDao studentDao2 =  sqlSession2.getMapper(StudentDao.class);List<Student> students2 = studentDao2.findstuTurn();System.out.println(students2);sqlSession2.commit();sqlSession2.close();}

结果只查询一次: 

http://www.yidumall.com/news/44123.html

相关文章:

  • 上海网站百度浏览器主页网址
  • 西安做网站公司企业管理培训视频免费
  • 字画价格网站建设方案长沙百家号seo
  • 李沧建网站公司阿里巴巴运营
  • asp.net 开发网站开发google推广怎么做
  • 怎么运行自己做的网站企业管理培训机构
  • 新余门户网站开发app运营推广是干什么
  • wordpress手机app主题百度 seo排名查询
  • 企业网站建站系统谷歌浏览器网页版入口手机版
  • 深圳网站设计的公司百度资源搜索
  • 互联网推广图片英文网站seo发展前景
  • 榆林网站开发公司百度建站多少钱
  • 电子商务网站设计说明怎么做网络平台
  • 网站开发流程规范个人网站规划书模板
  • 人防pc网站开发计划书好的网络推广平台
  • 昆明软讯科技网站建设网络游戏营销策略
  • 如何开发高端市场重庆seo排名优化费用
  • 百度 测试移动网站评分武汉大学人民医院地址
  • 飞创网站建设谷歌搜索引擎免费入口镜像
  • 哪些企业网站使用水墨风格最新域名ip地址
  • 网站建设和网络优化网页制作素材模板
  • 重庆设计集团有限公司seo发帖网站
  • 国外app模板下载网站可以搜任何网站的浏览器
  • 网站建设08kejinba最新排行
  • 新公司成立需要办理哪些手续吴江seo网站优化软件
  • 网站开发端网盘资源免费观看
  • 广西省河池建设局网站百度网盘搜索引擎入口哪里
  • 模版大全单页应用seo如何解决
  • 网站建设这一行业怎样seo排名优化工具
  • 做网站的艰辛seo推广具体做什么