java SE数据库的联接操作:访问数据库关于项目开发来说,数据库是占有着恰当重要的一个环节。这节内容盘绕一个关于数据库操作的程序来翻开,包括添加、批改、删去和查询(简称CRUD)几种操作这儿给出程序的标题:对新闻标题进行CRUD的操作。一 . 既然是新闻标题,数据库的表就建立为如下图所示的几个特色:该表的名字取名为:firstLevelTitle我在这儿用的是MySQL,MySQL创建表以及其他的用法看二、创建java项目在Eclipse或MyEclipse中创建java Project项目 news将对运用的mysqljdbc的驱动包拷贝到项目的lib文件夹下。注意: mysqljdbc是一个jar包,不可解压,将此包直接拖进或者是拷贝黏贴进lib文件夹下就可以了,这个包中有数据库联接用到的东西。这个包是从外界导入进Eclipse或MyEclipse,在网上可以下载到该包。当然不一样的数据库有不一样的包,如果是SQL Server 2005的话就应该导进sqljdbc的数据jar包java SE数据库的联接操作:访问数据库(2)三、完结新闻的数据库操作类 fltDao.java private final String CLS = "org.gjt.mm.mysql.Driver"; //驱动类 private final String URL = "jdbc:mysql://localhost:3306/news"; //URL private final String USER = "root"; //数据库的用户名 private final String PWD = "123456"; //数据库的暗码 private Connection conn = null; //数据库联接 private PreparedStatement pStmt = null; //预编译指令集 private ResultSet rs = null; //效果集数据库的联接需要这些量四、添加新闻标题的方法public int addFlt(String titleName, String creator, Date createTime){ int iResult = 0; //记载操作效果的变量 try{ Class.forName(CLS); conn = DriverManager.getConnection(URL, USER, PWD); String sql = "insert into firstLevelTitle(titleName, creator, createTime) values(?,?,?)"; // 数据库中的添加操作 pStmt = conn.prepareStatement(sql); pStmt.setString(1, titleName); pStmt.setString(2, creator); DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); pStmt.setString(3, df.format(createTime)); iResult= pStmt.executeUpdate(); conn.close(); }catch(Exception ex){ ex.printStackTrace(); } return iResult; }五、批改新闻标题public int editFlt(int id, String titleName){ int iResult = 0; //记载操作效果的变量 try{ Class.forName(CLS); conn = DriverManager.getConnection(URL, USER, PWD); String sql = "update firstLevelTitle set titleName=? where id=?"; pStmt = conn.prepareStatement(sql); pStmt.setString(1, titleName); pStmt.setInt(2, id); iResult= pStmt.executeUpdate(); conn.close(); }catch(Exception ex){ ex.printStackTrace(); } return iResult; }六、 删去新闻标题public int delFlt(int id){ int iResult = 0; //记载操作效果的变量 try{ Class.forName(CLS); conn = DriverManager.getConnection(URL, USER, PWD); String sql = "delete from firstLevelTitle where id=?"; pStmt = conn.prepareStatement(sql); pStmt.setInt(1, id); iResult= pStmt.executeUpdate(); conn.close(); }catch(Exception ex){ ex.printStackTrace(); } return iResult; }java SE数据库的联接操作:访问数据库(3)七、查询新闻标题public void showFltList(String tishi){ try{ Class.forName(CLS); conn = DriverManager.getConnection(URL, USER, PWD); String sql = "select * from firstLevelTitle"; pStmt = conn.prepareStatement(sql); rs=pStmt.executeQuery(); //对查询效果进行处置 System.out.println(tishi); //输出提示信息 while(rs.next()){ System.out.println("id:"+rs.getInt("id")+",称谓: "+rs.getString("titleName")+" , 创 建 者 : "+rs.getString("creator")+" , 创 建 时 间 : "+rs.getString("createTime")); } conn.close(); }catch(Exception ex){ ex.printStackTrace(); } }八、检验并工作public static void main(String[] args) { FltDao fltDao = new FltDao(); //添加新闻类型 fltDao.addFlt("体育", "管理员", new Date()); fltDao.addFlt("文娱", "管理员", new Date()); //闪现新闻类型 fltDao.showFltList("添加新闻类型后新闻类型列表如下:"); //批改新闻类型 fltDao.editFlt(1, "体育 1"); //闪现新闻类型 fltDao.showFltList("批改新闻类型后新闻类型列表如下:"); //删去新闻类型 fltDao.delFlt(2); //闪现新闻类型 fltDao.showFltList("删去新闻类型后新闻类型列表如下:"); }全部代码展示:package bzu.jsj.dao; import java.sql.*; import java.text.*; import java.util.Date; public class FltDao { private final String CLS = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //驱动类 private final String URL = "jdbc:sqlserver://localhost:1433;DatabaseName=news"; //URL private final String USER = "sa"; //数据库的用户名 private final String PWD = "123456"; //数据库的暗码 private Connection conn = null; //数据库联接 private PreparedStatement pStmt = null; //预编译指令集 private ResultSet rs = null; //效果集 /** * 添加一级新闻标题的方法 */ public int addFlt(String titleName, String creator, Date createTime){ int iResult = 0; //记载操作效果的变量 try{ Class.forName(CLS); conn = DriverManager.getConnection(URL, USER, PWD); String sql = "insert into firstLevelTitle(titleName, creator, createTime) values(?,?,?)"; pStmt = conn.prepareStatement(sql); pStmt.setString(1, titleName); pStmt.setString(2, creator); DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); pStmt.setString(3, df.format(createTime)); iResult= pStmt.executeUpdate(); conn.close(); }catch(Exception ex){ ex.printStackTrace(); } return iResult; } /** * 批改一级新闻标题的方法,只能批改标题 */public int editFlt(int id, String titleName){ int iResult = 0; //记载操作效果的变量 try{ Class.forName(CLS); conn = DriverManager.getConnection(URL, USER, PWD); String sql = "update firstLevelTitle set titleName=? where id=?"; pStmt = conn.prepareStatement(sql); pStmt.setString(1, titleName); pStmt.setInt(2, id); iResult= pStmt.executeUpdate(); conn.close(); }catch(Exception ex){ ex.printStackTrace(); } return iResult; } /** * 根据 id 删去指定的新闻类型的方法 */public int delFlt(int id){ int iResult = 0; //记载操作效果的变量 try{ Class.forName(CLS); conn = DriverManager.getConnection(URL, USER, PWD); String sql = "delete from firstLevelTitle where id=?"; pStmt = conn.prepareStatement(sql); pStmt.setInt(1, id); iResult= pStmt.executeUpdate(); conn.close(); }catch(Exception ex){ ex.printStackTrace(); } return iResult; } /** * 闪现新闻列表的方法 * @param tishi 闪现提示信息 */public void showFltList(String tishi){ try{ Class.forName(CLS); conn = DriverManager.getConnection(URL, USER, PWD); String sql = "select * from firstLevelTitle"; pStmt = conn.prepareStatement(sql); rs=pStmt.executeQuery(); //对查询效果进行处置 System.out.println(tishi); //输出提示信息 while(rs.next()){ System.out.println("id:"+rs.getInt("id")+",称谓: "+rs.getString("titleName")+" , 创 建 者 : "+rs.getString("creator")+" , 创 建 时 间 : "+rs.getString("createTime")); } conn.close(); }catch(Exception ex){ ex.printStackTrace(); } } /** * 在进口函数中进行检验 */public static void main(String[] args) { FltDao fltDao = new FltDao(); //添加新闻类型 fltDao.addFlt("体育", "管理员", new Date()); fltDao.addFlt("文娱", "管理员", new Date()); //闪现新闻类型 fltDao.showFltList("添加新闻类型后新闻类型列表如下:"); //批改新闻类型 fltDao.editFlt(1, "体育 1"); //闪现新闻类型 fltDao.showFltList("批改新闻类型后新闻类型列表如下:"); //删去新闻类型 fltDao.delFlt(2); //闪现新闻类型 fltDao.showFltList("删去新闻类型后新闻类型列表如下:"); }注意:1. 关于数据库的操作,CRUD是很重要的。2. 可以有些学员关于代码中出现的许多陌生的变量以及单词有 抵触,很难学习,可是细心的读者就会发现,代码的方式书写在一定程度上是类似的,代码是不变的,一些变量是 不变的,所以这就简略了。关于初学者要熟记,虽然我不建议背。可是该背的仍是需要背。