用JDBC连接SqlServer2005问题
检索表的时候没有什么问题,可以正常检索出结果
做插入和更新操作时,可以正常执行但是数据库中没有插入的数据,更新也没更新上
奇怪

解决方案 »

  1.   

    commit了没有,没有提交可能有问题。
      

  2.   

    确实是我大意了没有commit
    还有一个问题就是我使用spring+iBATIS做批处理不报错但是也没有什么效果
    程序:
    // TODO Auto-generated method stub
    final List<TextDaoBean> parm = new ArrayList();

    TextDaoBean textDaoBean = new TextDaoBean();
    textDaoBean.setUsername("2");
    textDaoBean.setPassword("2");
    parm.add(textDaoBean); // 初始化
    final int size = 0; // 执行批处理操作模板
        getSqlMapClientTemplate().execute(new SqlMapClientCallback() {
            public Object doInSqlMapClient(SqlMapExecutor executor)
                            throws SQLException {
             // 开启事物
    //          getSqlMapClient().startTransaction();
                // 开始插入批处理
                executor.startBatch();
                // 变量集合
                Iterator<TextDaoBean> iter = parm.iterator();             // 日志记录批量插入开始
                logger.info("batch start:");
                // 循环操作
    //             while(iter.hasNext()){
    //              // 插入数据
    //                 executor.insert("BC_MST_PREF_SqlMap.insertUser", parm.get(0));
    //             }
                TextDaoBean textDaoBean = iter.next();
                executor.insert("BC_MST_PREF_SqlMap.insertUser", textDaoBean);
                
                // 执行批处理
                executor.executeBatch();
    //             // 执行事物
    //             getSqlMapClient().commitTransaction();
    //             // 结束事物
    //             getSqlMapClient().endTransaction();             // 日志记录批处理结束
                logger.info("本次批处理插入数据" + size + "条");             // 返回处理条数
                return size;
            }
        });
        // log结束
    logger.info("batch end:");
    return size;
    sqlmap:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
    <sqlMap namespace="BC_MST_PREF_SqlMap">
    <typeAlias alias="TextDaoBean" type="com.strike.java.core.db.daoBean.TextDaoBean"/>
    <resultMap id="resultMap" class="com.strike.java.core.db.daoBean.TextDaoBean">
        <result property="username" column="USERNAME" columnIndex="1"/>
        <result property="password" column="PASSWORD" columnIndex="2"/>
    </resultMap><insert id="insertUser" parameterClass="TextDaoBean">
        insert into t_user (USERNAME,PASSWORD) values (#username#,#password#)
    </insert></sqlMap>