mybatis与SqlServer2008的使用想法

在Java应用中,与SqlServer数据库匹配使用,在公司应用中无法避免,但是Java程序员都知道Java和SqlServer与MySQL差别很大,首页在Java中与SqlServer连接,采用的是tcp/ip协议进行连接,这就导致了在连接上就要消耗很多时间,在现在的项目中,初期的时候没有写循环连接数据库,会出现,一两分钟不连接数据库,当再次连接的时候就会报错一次,然后才能再次连接,所以在系统中就写了一个定时循环,每隔5秒就访问一下数据库,以保证使用时不会出现两次访问的问题,

也是由于这种原因,在以后的代码开发中就尽量减少与数据库的连接,比如在涉及到一些逻辑运算的时候,如果需要多次查询数据,这时最好能在xml中以sql语句的方式进行处理,才是最好,这只是说在某些情况允许下,采用这种方法比较好,但不建议将所有service的功能搬到xml去编写.比如向涉及到更新或者保存数据额时候要先检查数据库中是否存在,这种就比较适合在xml中使用sql语句进行编写,这样就会减少与数据库的通讯,

总的来说,就是讲xml当成一个简易的存储过程进行使用

下面贴一段SqlServer分页语句的编写

<sql id="SQL语句">

SQL语句编写

</sql>

declare @maxId int,@maxId2 int; set @maxid=( select max(idh) from (

//通过计算获取,分页页数*每页记录数 select top ${page} ROW_NUMBER() OVER ( ORDER BY t1.time desc ) as idh from ( <include refid="SQL语句"/> ) as t1 ) as t); set @maxId2=@maxId; <if test="page==1"> set @maxId=@maxId-1; </if>

//rows 每页记录数 select top ${rows} t.* from ( select ROW_NUMBER() OVER ( ORDER BY t1.time desc ) as idh, t1.* from ( <include refid="SQL语句"/> ) as t1 ) as t where t.idh>@maxid

经验分享 程序员 微信小程序 职场和发展