sqlmap-config-log.xml文件代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map
Config 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>
<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;