ibatis入门问题
刚学ibatis,按照ibatis开发指南,写的一个简单测试代码,可是碰到很多问题;
包com.hengji.sql下有
SqlMapConfig.xml代码:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd"><sqlMapConfig><settings cacheModelsEnabled="true" enhancementEnabled="true"lazyLoadingEnabled="true" errorTracingEnabled="true" maxRequests="32"maxSessions="10" maxTransactions="5" useStatementNamespaces="false" /><transactionManager type="JDBC"><dataSource type="SIMPLE"><property name="JDBC.Driver" value="com.mysql.jdbc.Driver" /><property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost:8080/sample" /><property name="JDBC.Username" value="root" /><property name="JDBC.Password" value="123456" /><property name="Pool.MaximumActiveConnections" value="10" /><property name="Pool.MaximumIdleConnections" value="5" /><property name="Pool.MaximumCheckoutTime" value="120000" /><property name="Pool.TimeToWait" value="500" /><property name="Pool.PingQuery" value="select 1 from ACCOUNT" /><property name="Pool.PingEnabled" value="false" /><property name="Pool.PingConnectionsOlderThan" value="1" /><property name="Pool.PingConnectionsNotUsedFor" value="1" /></dataSource></transactionManager><sqlMap resource="com/hengji/sql/User.xml" /></sqlMapConfig>
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"><sqlMap namespace="User"><typeAlias alias="user" type="com.hengji.pojo.User" /><select id="getUser" parameterparameterparameterparametername="code"> package com.hengji.test;import java.io.IOException;import java.io.Reader;import java.sql.SQLException;//import com.ibatis.common.resources.Resources;import com.hengji.pojo.User;import com.ibatis.common.resources.Resources;import com.ibatis.sqlmap.client.SqlMapClient;import com.ibatis.sqlmap.client.SqlMapClientBuilder;public class Test {public static void main(String[] args) {String resource ="com/hengji/sql/SqlMapConfig.xml";Reader reader;try {reader = Resources.getResourceAsReader(resource);//XmlSqlMapClientBuilder xmlBuilder = new XmlSqlMapClientBuilder(); SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);try {sqlMap.startTransaction();User user=new User();user.setName("test");user.setSex(new Integer(1));sqlMap.insert("insertUser", user);sqlMap.commitTransaction();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} }}com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred in com/hengji/sql/User.xml. --- The error occurred while executing mapped statement. --- Check the insertUser. --- Check the statement or the result map. --- Cause: com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: ** BEGIN NESTED EXCEPTION ** java.net.SocketExceptionMESSAGE: java.net.ConnectException: Connection refused: connect<property name="JDBC.Driver" value="com.mysql.jdbc.Driver" /> <property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost:8080/sample" /> <property name="JDBC.Username" value="root" /> <property name="JDBC.Password" value="123456" />
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd"><sqlMapConfig><transactionManager type="JDBC"><dataSource type="SIMPLE"><property name="JDBC.Driver" value="com.mysql.jdbc.Driver" /><property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost:8080/sample" /><property name="JDBC.Username" value="root" /><property name="JDBC.Password" value="123456" /></dataSource></transactionManager><sqlMap resource="com/hengji/sql/User.xml" /></sqlMapConfig>