JDBC从入门到熟练(一)
【摘要】
//最简单的jdbc连接jdbc,记住5个步骤
import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class Test1 { public static void main(String[] args)...
//最简单的jdbc连接jdbc,记住5个步骤
-
import java.sql.Connection;
-
import java.sql.DriverManager;
-
import java.sql.SQLException;
-
public class Test1 {
-
public static void main(String[] args) {
-
String url="jdbc:sqlserver://localhost:1433;DatabaseName=News2";
-
Connection con=null; //链接对象
-
try {
-
//1加载驱动类,实例化一下
-
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
-
con=DriverManager.getConnection(url, "sa", "sa");
-
//2.获得连接对象
-
if(con!=null){
-
System.out.println("数据库链接成功!");
-
}
-
} catch (ClassNotFoundException e){
-
e.printStackTrace();
-
} catch (SQLException e) {
-
e.printStackTrace();
-
}finally{
-
try {
-
con.close();//关闭链接
-
} catch (SQLException e) {
-
e.printStackTrace();
-
}
-
}
-
-
}
-
}
在此基础上继续完善:
-
import java.sql.Connection;
-
import java.sql.DriverManager;
-
import java.sql.ResultSet;
-
import java.sql.SQLException;
-
import java.sql.Statement;
-
//数据库管理类做好了,可以直接链接+关闭语句对象+关闭链接对象;
-
public class DBManager {
-
private static Connection con=null;
-
private static String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
-
private static String url="jdbc:sqlserver://localhost:1433;DatabaseName=News";
-
private static String sql="insert userInfo values('admin','admin',getdate())";
-
private static String user="sa";
-
private static String pwd="sa";
-
-
//1.公共方法是获得数据库链接对象
-
public static Connection getConnection(){
-
try {
-
Class.forName(driver);//加,连
-
con=DriverManager.getConnection(url,user,pwd);
-
} catch (ClassNotFoundException e) {
-
e.printStackTrace();
-
} catch (SQLException e) {
-
e.printStackTrace();
-
}
-
return con;//非void都需要return
-
}
-
//关闭所有方法;有3个参数!,省代码了!!!
-
public static void closeAll(ResultSet rs,Statement stmt,Connection con){
-
try {
-
if(rs!=null){
-
rs.close();
-
}
-
if(stmt!=null){
-
stmt.close();
-
}
-
if(con!=null){
-
con.close();
-
}
-
} catch (SQLException e) {
-
e.printStackTrace();
-
}
-
}
-
}
-
import java.sql.Date;
-
-
//实体类:存储介质
-
public class UserInfo {
-
private int id;
-
private String username;
-
private String pwd;
-
private Date createtime;
-
public UserInfo(int id, String username, String pwd, Date createtime) {
-
super();
-
this.id = id;
-
this.username = username;
-
this.pwd = pwd;
-
this.createtime = createtime;
-
}
-
public int getId() {
-
return id;
-
}
-
public void setId(int id) {
-
this.id = id;
-
}
-
public String getUsername() {
-
return username;
-
}
-
public void setUsername(String username) {
-
this.username = username;
-
}
-
public String getPwd() {
-
return pwd;
-
}
-
public void setPwd(String pwd) {
-
this.pwd = pwd;
-
}
-
public Date getCreatetime() {
-
return createtime;
-
}
-
public void setCreatetime(Date createtime) {
-
this.createtime = createtime;
-
}
-
-
-
}
-
import java.sql.*;
-
import java.sql.Date;
-
import java.util.*;
-
//对UserInfo表的数据库管理类
-
public class UserInfoDB {
-
//0.声明对象;
-
Connection con=null;
-
Statement stmt=null; //语句对象
-
PreparedStatement pstmt=null;
-
int result=0; //受影响的行数
-
ResultSet rs=null; //结果集对象
-
-
//这个方法:对UserInfo表的增 删 改方法
-
//sql:可以insert update delete
-
public int updateUserInfo(String sql){
-
try {
-
con=DBManager.getConnection();//加连了!!!
-
stmt=con.createStatement();//语句对象
-
result=stmt.executeUpdate(sql);
-
} catch (SQLException e) {
-
e.printStackTrace();
-
}finally{
-
DBManager.closeAll(null, stmt, con);
-
}
-
return result;
-
}
-
//ArrayList:是个可变类型的动态集合
-
//针对预编译语句对象的公共方法;list:存放的是?参数的个数
-
public int updateUserInfo(String sql,List list){
-
try {
-
con=DBManager.getConnection();//嘉联
-
pstmt=con.prepareStatement(sql);//1.得对象
-
//2.要赋值;
-
for(int i=0;i<list.size();i++){
-
pstmt.setObject(i+1,list.get(i));
-
}
-
result=pstmt.executeUpdate();//3.去执行
-
} catch (SQLException e) {
-
e.printStackTrace();
-
}finally{
-
DBManager.closeAll(null, pstmt, con);
-
}
-
return result;
-
}
-
//简单的查询
-
public List<UserInfo> getUser(String sql){
-
List<UserInfo>list=new ArrayList<UserInfo>();
-
try {
-
con=DBManager.getConnection();
-
pstmt=con.prepareStatement(sql);
-
rs=pstmt.executeQuery();
-
-
while(rs.next()){
-
int id=rs.getInt(1);
-
String name=rs.getString(2);
-
String pwd=rs.getString("pwd");
-
Date date=rs.getDate(4);
-
-
UserInfo user=new UserInfo(id,name,pwd,date);
-
list.add(user);
-
}
-
} catch (SQLException e) {
-
e.printStackTrace();
-
}finally{
-
DBManager.closeAll(rs, pstmt, con);
-
}
-
return list;
-
}
-
}
-
import java.sql.*;
-
import java.util.*;
-
-
public class TestPre {
-
public static void main(String[] args) {
-
//测试;
-
UserInfoDB udb=new UserInfoDB();
-
String sql="select * from userInfo";
-
List<UserInfo>list=udb.getUser(sql);
-
System.out.println("编号\t用户\t密码\t日期");
-
for(UserInfo user:list){
-
System.out.println(user.getId()+"\t"+user.getUsername()+
-
"\t"+user.getPwd()+"\t"+user.getCreatetime());
-
}
-
-
}
-
}
线课堂:https://edu.csdn.net/lecturer/1516
文章来源: aaaedu.blog.csdn.net,作者:tea_year,版权归原作者所有,如需转载,请联系作者。
原文链接:aaaedu.blog.csdn.net/article/details/52875790
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)