1、数据库连接
a、加载数据库驱动程序(要把驱动加载到方法区)
Class.forName("com.mysql.jdbc.Driver");
b、利用驱动管理器获取数据库连接
Connection conn=DriverManager.getConnection(url,"root","root");
url解释
jdbc:mysql://localhost:3306:scott?useUnicode=true&charcterEncoding=utf8
jdbc:主协议
mysql:次协议
localhost:地址
3306:进入mysql默认的端口号(1521是oracle的默认端口号)
scott:数据库名字
localhost:3306 此段可以省略
?useUnicode=true&charcterEncoding=utf8:代表支持中文,从eclipse存储数据支持中文
2、获取SQL语句对象
PreparedStatement pst=conn.prepareStatement(sql);
在括号内填写sql语句
3、获取查询结果(如果是查询语句)
ResultSet rs=pst.executeQuery();
4、遍历结果集
while(rs.next()){
int empno=rs.getInt("empno");
System.out.println(empno);
}
5、关闭conn/pst/rs
注:
接数据库中对于日期的处理
使用Date接从mysql中查出的数据时可以引入的Date包有java,util或者为java.sql
1、在查询处用数据库中函数进行转格式(需要做一个别名)
2、在java中用SimpleDateFormat进行格式转换(如果此时有null日期则会报空指针错,可以用三元运算符处理)
错误总结:
-引包错误(都应该引入sql包中的接口和类)
-url书写错误(协议书写错误,连接数据库地址错误,数据库名称错误)
-用户名以及密码书写错误
查询相关:
ResultSet rs=pst.executeQuery();
while(rs.next()){
int empno=rs.getInt("empno");
String ename=rs.getString("ename");
Double sal=rs.getDouble("sal");
Date hiredate =rs.getDate("hiredate");
System.out.println(empno+","+ename+","+sal+","+hiredate);
}
增删改相关:
conn.setAutoCommit(false);(将自动提交关闭防止事物一致性被损坏,一定要加)
在pst.executeUpdate()后要记得
conn.commit();
在catch块中级的
conn.rollback()
****配置文件,DBUtils
a、节省资源--单利
b、关闭原则--配置文件方式
常见错误
a、配置文件必须在src下(classpath)
b、配置信息中不要有多有的符号如“”“”
员工打卡记录
1、建表
2、
注意Scanner 特殊情况
当输入一个数字,在输入一行文字时:如
int i=Sc.nextInt();
String str=sc.nextLine();
此时出现自动跳过字符串的输入,是因为nextLine();自动接了一个回车,处理方式为
int i=Sc.nextInt();
sc,nextLine();
String str=sc.nextLine();
网友评论