您的位置:首页 > 其它

ibatis主键自增生成

2014-04-12 13:51 127 查看
sqlmap-config-log.xml文件代码如下:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE sqlMapConfig  PUBLIC "-//iBATIS.com//DTD SQL MapConfig 2.0/" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"><sqlMapConfig><settings cacheModelsEnabled="true" enhancementEnabled="true"lazyLoadingEnabled="false" errorTracingEnabled="true" maxRequests="32"maxSessions="10" maxTransactions="5" useStatementNamespaces="true" /><sqlMap resource="sqlmap/Log.xml"/><settings useStatementNamespaces="true"/><transactionManager type="JDBC"><dataSource type="SIMPLE"><property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/><property name="JDBC.ConnectionURL"value="jdbc:mysql://127.0.0.1:3306/dbName"/><property name="JDBC.Username" value="xxx"/><property name="JDBC.Password" value="xxx"/></dataSource></transactionManager></sqlMapConfig>
Log.xml文件配置如下:
    <insert id="insertLog" parameterClass="com.xxx.Log"><selectKey keyProperty="id" resultClass="int" type="post">select last_insert_id() as value</selectKey>insert into tableName(ip)values (#ip#)</insert>
java文件代码如下:
 public static void main(String[] args) {try {InputStream  inputStream = new FileInputStream("D:\\sqlmap-config-log.xml");SqlMapClient sqlMapClient=SqlMapClientBuilder.buildSqlMapClient(inputStream);Log log= new Log();log.setIp("");Object id=(Integer)sqlMapClient.insert("Log.insertLog",log);} catch (Exception e) {e.printStackTrace();}}
<selectKey keyProperty="id" resultClass="int" type="post">type为"post",那么每次插入一条数据后,会在原有插入数据库connection基础上,生成自增id,type为“pre”或者没有type字段,那么每次插入一条数据后,返回0;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: