最近在使用mySql开发时遇到的问题总结。

1,使用ibatais生成DAO层时,遇到insert方法返回主键问题。

 解决: 数据库中使用的是自增长的id,使用abator插件时配置如下

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE abatorConfiguration PUBLIC "-//Apache Software Foundation//DTD Abator for iBATIS Configuration 1.0//EN" "http://ibatis.apache.org/dtd/abator-config_1_0.dtd" >
<abatorConfiguration>
    <abatorContext id="test" generatorSet="java2" defaultModelType="flat">

        <commentGenerator>
          <property name="suppressDate" value="true" />
        </commentGenerator>

        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
            connectionURL="jdbc:mysql://192.166.68.11:3306/tianjinapp"
            userId="root"
            password="58858547">
            <classPathEntry
                location="D:\workspace\TianjinPro\WebContent\WEB-INF\lib\mysql-connector-java-5.1.6-bin.jar" />
            </jdbcConnection>

        <!--<property name="suppressTypeWarnings" value="false"/>-->

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

        <javaModelGenerator
            targetPackage="com.sumavision.tianjin.domain.entity"
            targetProject="TianjinPro/src" type="DEFAULT">
            <property name="enableSubPackages" value="false" />
            <property name="trimStrings" value="true" />
            <!-- <property name="rootClass"
                value="com.sumavision.ecommerce.busifront.selfservicetv.domain.AbstractEntity" />-->
            <property name="rootClasspath"
                value="D:\workspace\TianjinPro/WEB-INF/classes" />
        </javaModelGenerator>

        <sqlMapGenerator targetPackage="com.sumavision.tianjin.domain.maps"
            targetProject="TianjinPro/src" type="DEFAULT">
            <property name="enableSubPackages" value="false" />
        </sqlMapGenerator>

        <!-- -->
        <daoGenerator targetPackage="com.sumavision.tianjin.domain.dao"
            targetProject="TianjinPro/src" type="SPRING">
            <property name="enableSubPackages" value="false" />
            <property name="methodNameCalculator" value="default" />
            <property name="exampleMethodVisibility" value="public" />
        </daoGenerator>

        <table tableName="RULES" domainObjectName="" alias="">
         <generatedKey column="ID" sqlStatement="select LAST_INSERT_ID() as value"  identity="false" type="post" />
        </table>


        <table tableName="USERS" domainObjectName="" alias="">
        </table>

    </abatorContext>
</abatorConfiguration>

注意type必须为post。

 

2,mysql数据库乱码问题,修改数据库配置文件my.ini中编码修改为uft8或者 gb2312

3,mysql数据库访问时,只能使用localhost访问,使用本地ip访问不行,

  解决办法: 修改mysql系统表中的user表,里面有条记录将配置了权限的,修改localhost改成%(匹配localhost,本地ip,127.0.0.1)

 

你可能感兴趣的:(DAO,spring,mysql,jdbc,ibatis)