spring整合jpa 测试查询,查询不到中文字段?

这个问题就在于你写的数据库 url没有设置配置参数
我一开始尝试直接在spring配置文件的数据源的bean中的property标签添加jdbcUrl的value为jdbc:mysql://数据ip地址/数据库?useUnicode=true&characterEncoding=UTF-8&useSSL=true&serverTimezone=UTC,亲测直接在value添加以上url不行;
于是我将jdbc的配置文件抽取出一个单独的db.properties,再注入spring的配置文件
db.properties:

jdbc.username=root
jdbc.password=数据库密码
jdbc.jdbcUrl=jdbc:mysql://数据库ip地址/连接的数据库名?useUnicode=true&characterEncoding=UTF-8&useSSL=true&serverTimezone=UTC
jdbc.driverClass=com.mysql.jdbc.Driver 

applicationContext.xml 部分

   <!--关联jdbc配置文件-->
    <contex:property-placeholder location="classpath*:db.properties"/>
    <!--2.创建数据库连接池 -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="user" value="${jdbc.username}"></property>
        <property name="password" value="${jdbc.password}"></property>
        <property name="jdbcUrl" value="${jdbc.jdbcUrl}" ></property>
        <property name="driverClass" value="${jdbc.driverClass}"></property>
    </bean>

亲测,按照上面配置就行了,总的来说就是useUnicode=true&characterEncoding=UTF-8这两个参数的使用

上一篇:整合 Spring Data Jpa


下一篇:spring Data Jpa