2楼说的对,遇到此类问题,你完全可以查看API手册就可以解决,手册上有用法:
接口 PreparedStatement的用法
setStringvoid setString(int parameterIndex,
String x)
throws SQLException将指定参数设置为给定 Java String 值。在将此值发送给数据库时,驱动程序将它转换成一个 SQL
VARCHAR 或 LONGVARCHAR 值(取决于该参数相对于驱动程序在
VARCHAR 值上的限制的相对大小)。
参数:parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
x - 参数值
抛出:SQLException - 如果发生数据库访问错误
——————————————————————————————
public interface PreparedStatementextends Statement
表示预编译的 SQL 语句的对象。
SQL 语句被预编译并且存储在 PreparedStatement 对象中。然后可以使用此对象高效地多次执行该语句。
注:用来设置 IN 参数值的 setter 方法(setShort、setString
等等)必须指定与输入参数的已定义 SQL 类型兼容的类型。例如,如果 IN 参数具有 SQL 类型 INTEGER,那么应该使用
setInt 方法。
如果需要任意参数类型转换,使用 setObject 方法时应该将目标 SQL 类型作为其参数的类型。
在以下设置参数的示例中,con 表示一个活动连接:
PreparedStatement pstmt = conprepareStatement("UPDATE EMPLOYEES
SET SALARY = WHERE ID = ");
pstmtsetBigDecimal(1, 15383300)
pstmtsetInt(2, 110592)
如果用myEclipse ssh 数据库映射文件都是生成好的,你非要自己写,就给你个生成好的,你看看。
<xml version="10" encoding="utf-8">
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 30//EN"
">
通常在处理金额方面,使用float 和double 明显不够精确。
设置字段使用decimal 后面不写默认是(10)。根据情况可以设置第二个参数,第二个参数是需要保留的位数,在java 中也不能直接使用 + - / 方法来计算。使用bigDecimal 处理加法:add 减法:substract 乘法:multiply 除法:divdie。计算
数据库中的numeric与kettle什么类型对应
SQL的DECIMAL 和 NUMERIC通常用来表示需要一定精度的定点数。在Java的简单数据类型中,没有一种类型与之相对应。但从JDK11开始,Sun公司在javamath包中加入了一个新的类BigDecimal,该类的对象可以与DECIMAL 、NUMERIC进行转换。
另外,当从数据库管理系统中读取数据时,还可以用getString()方法来获取DECIMAL 和 NUMERIC。
Oracle中Number类型可以用来存储数字,正、负、零或者浮点数都可以,但是如果长度大于8的花建议你用varchar2了。所以可以考虑用int或者double,如果精度的要求高的话,就用BigDecimal。
我用oracle都2年多了,根据个人经验给你分个类吧:
主键一般用varchar2(10)1,如'0000000001',可以用这个方法前后补充0,select lpad('1',10,'0') from dual;
日期一般用date,默认给sysdate
金额一般用number(x,y),x代表长度最多为多少不含小数位,x是小数点后有多少位
状态一般用number,默认值是0,代表正常,1代表废除,逻辑删除数据用,这些基本已经够用了。我给你看我设计表的时候是如何做的,给你截图:
亲希望采纳哦!
以上就是关于java语言数据库语句语法的错误全部的内容,包括:java语言数据库语句语法的错误、SSH中实体类如何与数据库关联配置文件如何写、mysql设计数据库钱用什么字段等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)