1. 在MySQL数据库中记录货币用什么字段类型好?
使用NUMERIC或DECIMAL类型。这两种类型可以被用于保存对准确性和精度要求比较高的值,例如与货币相关的数据。当使用这两种数据类型声明一个数据表字段时,可以指定数据的精度和规模。
**
2. 简述项目中优化SQL语句执行效率的方法
**
1. 尽量选择较小的列;
2. 将where语句中用的比较繁琐的字段建立索引;
3. Select语句中避免使用*;
4. 避免在索引列上使用计算,not,in,和<>操作;
5. 当只需要一行数据时使用limit1;
6. 保证表单数据不超过200w,适时分割表。
3. 事务是什么?
事务是访问并可能更新数据库中各种数据项的一个程序执行单元。
事务具有原子性、一致性、隔离性和持久性的特点。
原子性是指事务必须是原子工作单元;
一致性是指事务完成时,必须使所有的数据都保持一致;
隔离性是指由并发事务所做的修改必须与任何其他事务作的修改隔离;
持久性是指事务完成之后,它对于系统的影响是永久性的,该修改即使出现系统故障也将一直保持。
4. 在Java中如何创建一个JDBC连接?
创建JDBC很简单,只需要两步:
1. 注册并加载驱动:使用Class.forName(),驱动类就会注册到DriverManager里面并加载到内存中;
2. 用DriverManager获取连接对象:调用DriveManager.GetConnection()方法并传入数据库连接的URL,用户名及密码,就能获取到连接对象。
5. 有哪些不同ResultSet?
一共有三种ResultSet对象。
(1) ResultSet.TYPE_FORWARD_ONLY
这是默认类型,它的游标只能往下移;
(2) ResultSet.TYPE_SCROLL_INSENSITIVE
游标可以上下移动,一旦它创建后,数据库里的数据再发生修改,对它是透明的;
(3) ResultSet.TYPE_SCROLL_SENSITIVE
游标可以上下移动,如果生成后数据库还发生了修改操作,它是可以感知到的。
6. 常见的JDBC异常
(1) java.sql.SQLException:这是JDBC异常的基类;
(2) java.sql.BatchUpdateException:当批处理操作执行失败的时候可能会抛出的异常;
(3) java.sql.SQLWarning:SQL操作出现的警告信息;
(4) java.sql.DataTruncation:字段值由于某些非正常原因截断了(不是因为超过对应字段类型的长度限制)。