在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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)