JDBC从入门到熟练(一)
2016-10-20 18:48
357 查看
//最简单的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()); } } }
相关文章推荐
- JDBC从入门到熟练(一)
- JDBC从入门到熟练(一)
- JDBC从入门到熟练(二)
- JDBC从入门到熟练(二)
- JDBC从入门到熟练(二)
- Fiddler实现手机抓包 从入门到熟练
- Hibernate入门04 - 提供JDBC连接
- JDBC入门——mysql连接方法
- -Java-JDBC入门
- android入门到熟练(二)----活动
- JDBC入门(2)--- ResultSet之滚动结果集
- Solr入门到熟练
- Btrace入门到熟练小工完全指南
- 黑马day10 jdbc入门&mysql
- javaweb学习总结(三十二)——JDBC学习入门
- 学习ServiceMix笔记(六) 学习Camel的JDBC简单入门
- Oracle11g_JDBC入门级示例
- Btrace入门到熟练小工完全指南
- 1Mybatis入门--1.1单独使用jdbc编程问题总结
- JDBC入门