在hibernate中org.hibernate.dialect.MySQL5Dialect和MysqlDialect应该用哪个呢

在hibernate中org.hibernate.dialect.MySQL5Dialect和MysqlDialect应该用哪个呢,第1张

MysqlDialect这个是比较老的,如果你是用的mysql5,最好是用MySQL5Dialect,后面的方言是针对mysql5的一些新特性做了一些优化的,更快了效率在hibernate中org.hibernate.dialect.MySQL5Dialect和MysqlDialect应该用哪个呢

在s2sh架构中使用mysql数据库

在javaBean中使用属性:BigDecimal类型,

数据库中此字段为Decimal类型

会报No Dialect mapping for JDBC type:-1

原因是hibernate无法映射此类型的对象。

具体做法:

必须把java类的BigDecimal类型与mysql中的Decimal类型关联起来。

import java.sql.Types

import org.hibernate.Hibernate

import org.hibernate.dialect.MySQLDialect

public class ZJCMySQLDialect extends MySQLDialect{

public ZJCMySQLDialect () {

super()

registerHibernateType(Types.DECIMAL,

Hibernate.BIG_DECIMAL.getName())

registerHibernateType(-1, Hibernate.STRING.getName())

}

}

4

修改hibernate的方言:

<prop key="hibernate.dialect">

com.quduan.ZJCMySQLDialect

</prop>

这样就可以支持BigDecimal类型了。

在数据库提取部分数据,在JSP上显示的做法如下:

思路:1、创建db连接 2、创建statement 3、执行查询 4、遍历结果并展示

完整代码如下:

<span style="font-size:12px"><span style="font-size:14px"><%@ page language="java" import="java.sql.*,java.io.*,java.util.*"%>

<%@ page contentType="text/htmlcharset=utf-8"%>

<html>

<head>

<style type="text/css">

table {

border: 2px #CCCCCC solid

width: 360px

}

td,th {

height: 30px

border: #CCCCCC 1px solid

}

</style>

</head>

<body>

<%

//驱动程序名

String driverName = "com.mysql.jdbc.Driver"

//数据库用户名

String userName = "root"

//密码

String userPasswd = "szy"

//数据库名

String dbName = "studentmanage"

//表名

String tableName = "student"

//联结字符串

String url = "jdbc:mysql://localhost:3306/" + dbName + "?user="

+ userName + "&password=" + userPasswd


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/7401299.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存