分享了以下tips: 一、事务管理 二、xml配置sql代码段 三、#和$的区别 四、注意对、做转义 五、依据字符串是否为空,动态组织sql语句 六、使用自定义的类型转换器 七、resultMap的复用 一、事务管理 用户执行一个动作,后台需依次更新多个表,如果其中有一个
分享了以下tips:
86CMS企业网站系统为智能ASP网站管理程序,适合中小企业自建网站、二次开发使用。本程序具有体积小巧、程序文件结构严谨、界面清爽简单、功能强大、非专业人士使用入门快、中小企业使用投资小等实用特点。本版本为中英繁版本。86CMS企业网站系统中英繁三语版 v1.2 更新1.修正英文版的flash幻灯调用出错问题。2.修正英文版导航菜单设置出错问题。3.增加信息是否显示在中英各版的功能。4.调整首页视
1
一、事务管理
二、xml配置sql代码段
三、#和$的区别
四、注意对做转义
五、依据字符串是否为空,动态组织sql语句
六、使用自定义的类型转换器
七、resultMap的复用
SqlSession session = getSqlSession();
int sqlResult = session.insert("insert a table", po);
int sqlResult = session.update("update b table", po);
//这时,前面的insert和update还没真正执行
session.commit();
//commit后,db才真正更新
session.close();
<sql id="getFeedBackList_fragment">
from t_comment where refer_type = #{type} and
refer_id = #{referId}
</sql><select id='getFeedBackList' parameterType='map' resultMap='feeback'> select id <include refid="getFeedBackList_fragment"/> order by create_time desc </select>
<configuration> …… <typeHandlers> <typeHandler handler="test.TimeTypeHandler" javaType="Long" jdbcType="TIME" /> </typeHandlers> …… </configuration>
package test;
public class TimeTypeHandler implements TypeHandler<Long>
{
private final String TIME_TYPE = "yyyy-MM-dd HH:mm:ss";
public long strToLongTime(String dateStr)
{
if (null == dateStr)
return 0L;
SimpleDateFormat sdf = new SimpleDateFormat(TIME_TYPE);
Date date = new Date();
try
{
date = sdf.parse(dateStr);
}
catch (ParseException e)
{
e.printStackTrace();
}
if (date == null)
return 0L;
System.out.println(date);
return date.getTime();
}
public Long getResult(ResultSet arg0, String arg1) throws SQLException
{
String datestr = arg0.getString(arg1);
return strToLongTime(datestr);
}
public Long getResult(ResultSet arg0, int arg1) throws SQLException
{
String datestr = arg0.getString(arg1);
return strToLongTime(datestr);
}
public Long getResult(CallableStatement arg0, int arg1) throws SQLException
{
String datestr = arg0.getString(arg1);
return strToLongTime(datestr);
}
public void setParameter(PreparedStatement arg0, int arg1, Long arg2, JdbcType arg3) throws SQLException
{
if (arg2 == null)
{
arg2 = 0L;
}
Date date = new Date(arg2);
SimpleDateFormat sdf = new SimpleDateFormat(TIME_TYPE);
String datetime = sdf.format(date);
arg0.setString(arg1, datetime);
}
}
<mapper namespace="xxxx">
……
//这里定义了ExpDownloadPo这个sql查询结果,要映射到java bean :test.ExpDownloadPo
<resultMap id="ExpDownloadPo" type="test.ExpDownloadPo">
<id property="id" column="id" />
//first_download_time这个数据,在赋值到firstDownloadTime时,要转转换,从jdbc的time型,转换成javaType的long型,具体怎么转换,因为前面第一点,定义了<typeHandlers><typeHandler handler="test.TimeTypeHandler" javaType="Long" jdbcType="TIME" /></typeHandlers>,因此会自动使用test.TimeTypeHandler这个转换器
<result property="firstDownloadTime" column="first_download_time" javaType="Long" jdbcType="TIME"/>
<result property="lastDownloadTime" column="last_download_time" javaType="Long" jdbcType="TIME"/>
</resultMap>
……
</mapper ><mapper namespace="com.blog.test"> …… <resultMap id="testbean" ></resultMap> </mapper>
<mapper namespace="B"> <select id="mysql" parameterType="map" resultMap="com.blog.test.testbean"> </mapper>
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号