JDBC初级
时间:2021-07-01 10:21:17
帮助过:22人阅读
1.将mysql的jdbc驱动加载到内存中
try {
Class.forName("com.mysql.jdbc.Driver"
);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
//指定需要连接的数据库地址,用户名和密码
String url = "jdbc:mysql://127.0.0.1:3306/库名?"
+"useUnicode=true&characterEncoding=utf-8 &"
+"useSSL = false & serverTimezone = UTC"
;
//为了防止数据库和程序编码不一致的情况,加上后缀
//?useUnicode=true&characterEncoding=utf-8
//mysql5.7以上的版本,由于添加了SSL认证接口,所以在执行的时候可能会报出警告
//mysql8.0其实不需要SSL认证了,但是保留了SSL接口,所以在连接的时候最好指明useSSL=false
//mysql8.0还有一个时区的问题serverTimezone=UTC
String user = "root"
;
String password = "数据库密码"
;
Connection conn =
null;
Statement stmt =
null;
try {
//2.获取连接
conn =
DriverManager.getConnection(url, user, password);
//3.通过连接创建Statement对象
stmt =
conn.createStatement();
//4.执行数据库语句 DML
//jdbc中增删改都是executeUpdate方法
//这个方法会返回一个int类型的值
//对应就是几行数据受影响
//插入语句
int n = stmt.executeUpdate("sql的DML语句"
);
//需要注意的是sql的DML语句中关于varchar对象的输入注意单引号的书写
//java中的字符创类型在sql中不会当做字符串处理,需要手动添加单引号
System.out.println(n + "行受影响"
);
//4.执行数据库语句 DQL
//jdbc中增删改都是executeQuery方法
//这个方法会返回一个ResutSet类型的值
//ResutSet类型存储的是查询到的虚拟表的游标
ResutSet resut = stmt.executeQuery("sql的DQL语句"
);
//循环游标
while(resut.next()){
//如果游标指向的有值,则把值放入resut中,并返回true,如果没有就返回false
resut.get类型(
int ||
String);
//每个get类型()方法都有两个重载,
//get类型(int);查询的虚拟表的第几列,从1开始
//get类型(String);查询的虚拟表的字段名对应的列,
//需要注意如果定义了别名String也应当是别名!!
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
//5.关闭数据库
try {
if(stmt !=
null) {
stmt.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if(conn !=
null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
//在上述的对象关闭中可以只关闭conn
}
其他
时间类型
时间在JAVA中的定义可以是java.util(推荐使用,转格式方便)与java.sql
注意:Java中的Date是Java.util.Date无法直接放入sql语句之中,要么转化为String,要么转化为Java.sql.Date
Java.sql.Date date = new Java.sql.Date((Util.Date对象).getTime());
//将sql.Date转化为Util.Date
JDBC初级
标签:otf 字符创 strong zone 插入 getc 对象 test sql语句