mybatis

。。。

 

 

//常用类型
jdbcType=VARCHAR
jdbcType=INTEGER
jdbcType=CHAR
jdbcType=BIGINT
jdbcType=TIMESTAMP

//注意and
<if test="state != null and state !=''" >
     s.state=#{state,jdbcType=VARCHAR}  and
</if>

//小于号需要CDATA ,因为xml不允许出现类似“<”这样的字符,可以使用<![CDATA[ ]]>符号进行说明,将此类符号不进行解析。
<![CDATA[
	 ROWNUM <= #{end,jdbcType=BIGINT} ) ts 
]]>

//不可以使用#
from xxtable_${suffix}

 

<insert id="insert" parameterType="com.dhgate.cms.po.model.ModelDataPo">
  <selectKey resultType="int" keyProperty="id" >
   select LAST_INSERT_ID() as id     
  </selectKey>
  insert into ${tableName} (${fields}) values (${vals})
 </insert>
 
foreach 循环
<foreach collection="auditstatusArr" item="auditStatus" separator="or" open="(" close=")">
         audit_status = #{auditStatus}
</foreach> 
 
oracle insert 主键:
< selectKey   resultType = "long"   keyProperty = "id" >   
         SELECT SEQ_TEST.NEXTVAL FROM DUAL  
</ selectKey >  
 
执行sql,如创建表  ,接口public void executeSql(String value);或者用update 、insert都可以

 <select id="executeSql" parameterType="java.lang.String">${value}</select> 

 

#{} 解析的是占位符?可以防止SQL注入, 比如打印出来的语句 select * from table where id=?然而${} 则是不能防止SQL注入,用${}保证原样输出 

 
mybatis用mysql 函数
update td_model set last_update_date=CURRENT_TIMESTAMP()  //2014-10-15 15:23:32

下载mybatis-generator-core-1.3.2.jar:
https://github.com/mybatis/generator/releases

 

文件名:generatorConfig.xml

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE generatorConfiguration 
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" 
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> 

<generatorConfiguration> 
<context id="DB2Tables" targetRuntime="MyBatis3"> 
<!-- 去除自动生成的注释 --> 
<commentGenerator> 
<property name="suppressAllComments" value="true" /> 
</commentGenerator> 

<!-- 数据库连接信息 --> 
<jdbcConnection driverClass="com.mysql.jdbc.Driver" 
connectionURL="jdbc:mysql://ip:port/testdb" userId="xx" 
password="xx"> 
</jdbcConnection> 

<javaTypeResolver> 
<property name="forceBigDecimals" value="false" /> 
</javaTypeResolver> 

<!-- po实体代码位置 --> 
<javaModelGenerator targetPackage="com.xx.xx.po.confinterface" 
targetProject="D:\\xx\\workspace\\xx-web\\src\\main\\java"> 
<property name="enableSubPackages" value="true" /> 
<property name="trimStrings" value="true" /> 
</javaModelGenerator> 

<!-- sql代码的xml映射文件位置 --> 
<sqlMapGenerator targetPackage="com.xx.xx.mapper.confinterface" 
targetProject="D:\\xx\\workspace\\xx-web\\src\\main\\resources"> 
<property name="enableSubPackages" value="true" /> 
</sqlMapGenerator> 

<!-- mapper接口位置 --> 
<javaClientGenerator type="XMLMAPPER" 
targetPackage="com.xx.xx.mapper.confinterface" 
targetProject="D:\\x\\workspace\\xx-web\\src\\main\\java"> 
<property name="enableSubPackages" value="true" /> 
</javaClientGenerator> 


<!-- 需要自动生成的表 --> 
<table tableName="td_conf_interface" domainObjectName="ConfInterface" enableCountByExample="false" 
enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"> 
<!--true:则po、xml中跟数据库字段一样。false: MyBatis Generator会将数据库中实际的字段名字转换为Camel Case风格作为生成的实体类的属性名。 --> 
<property name="useActualColumnNames" value="false" /> 
<generatedKey column="id" sqlStatement="mysql" identity="true" /> 
</table> 

</context> 
</generatorConfiguration>

main类
import com.xx.mybatis.generator.GeneratorUtil;

public class Generator {

    public static void main(String[] args) {
       // GeneratorUtil.generate("D:\\xx\\workspace\\xx-xx-web\\src\\test\\java\\generatorConfig.xml");
    }
}

 

你可能感兴趣的:(mybatis)