}
package、shi、dao、impl;
importjava、sql、ResultSet;
import java、sql、SQLException;
importjava、util、ArrayList;
import java、util、List;
import、shi、base、ResultSetHandler;
import、shi、dao、PersonDao;
import、shi、domain、Person;
import 、util、db、JdbcTemplete;
publicclassPersonDaoImplimplementsPersonDao{
ﻩ privateJdbcTempletejdbcTemplete;
publicPersonDaoImpl(){
ﻩﻩthis、jdbcTemplete=newJdbcTemplete();
ﻩ }
//添加
ﻩﻩOverride
publicvoidadd(Person p)throwsSQLException{
ﻩStringsql="insertintostudent(id,name,age,pre)values(?
,?
,?
,?
)";
ﻩﻩﻩthis、jdbcTemplete、update(sql,p、getId(),p、getName(),p、getAge(),p、getPre());
//Stringsql="insertinto person(name,age,pre)values(’小白’,18,'一个猥琐但不下流得人')”;
}
ﻩ//更新
ﻩOverride
publicvoidupdate(Personp) throwsSQLException{
Stringsql ="updatestudent set name=?
,age=?
pre=?
whereid=?
”;
ﻩﻩthis、jdbcTemplete、update(sql, p、getName(),p、getAge(),p、getPre(),p、getId());
ﻩ }
//删除
ﻩﻩOverride
ﻩ publicvoid delete(intid) throwsSQLException {
ﻩStringsql =”deletefromstudentwhereid=?
";
ﻩﻩﻩthis、jdbcTemplete、update(sql, id);
ﻩﻩ}
publicPersonfindById(finalintid) throwsSQLException{
ﻩStringsql= "selectname,age,prefrom studentwhereid=?
”;
ﻩﻩreturn(Person)this、jdbcTemplete、query(sql,newResultSetHandler() { publicObject doHandler(ResultSetrs)throws SQLException{
ﻩ Personp= null;
ﻩﻩﻩ if(rs、next()){
ﻩﻩﻩp = new Person();
ﻩﻩp、setId(id);
ﻩ p、setName(rs、getString
(1));
ﻩ p、setAge(rs、getInt
(2));
ﻩ p、setPre(rs、getString(3));
ﻩﻩreturnp;
ﻩ }
ﻩﻩ returnnull;
ﻩ}
ﻩ},id);
}
ﻩﻩSuppressWarnings("unchecked”)
publicList<Person>findAll()throwsSQLException{
ﻩﻩStringsql= "selectid,name,age,prefrom student”;
ﻩﻩreturn(List)this、jdbcTemplete、query(sql,newResultSetHandler(){ﻩﻩpublicObjectdoHandler(ResultSetrs) throwsSQLException{
ﻩfinalList persons=newArrayList<Person〉();
ﻩﻩﻩPerson p= null;
ﻩwhile(rs、next()){
ﻩﻩﻩp =newPerson();
ﻩﻩﻩp、setId(rs、getInt
(1));
ﻩﻩp、setName(rs、getString
(2));
ﻩﻩﻩﻩﻩp、setAge(rs、getInt(3));
ﻩp、setPre(rs、getString(4));ﻩ
ﻩﻩﻩpersons、add(p);
ﻩ}returnpersons;
ﻩﻩ}
});
ﻩﻩ}ﻩ
}
package、shi、base;
importjava、sql、ResultSet;
importjava、sql、SQLException;
publicinterfaceResultSetHandler{
publicObjectdoHandler(ResultSetrs)throwsSQLException;
}
package 、util、db;
import java、sql、*;
import 、mysql、jdbc、Connection;
importjava、util、ResourceBundle;
publicclassDBUtilds{
ﻩpublicfinalstaticStringURL;
ﻩpublicfinalstatic StringUSERNAME;
ﻩpublicfinalstaticStringPASSWORD;
ﻩpublicfinalstaticString DRIVER;
ﻩprivateDBUtilds(){//定义私有构造方法
}
ﻩ//利用绑定
ﻩprivatestatic ResourceBundlerb =ResourceBundle、getBundle("、util、db、dbconfig”);
static{
ﻩURL=rb、getString("jdbc、url”);
ﻩUSERNAME=rb、getString("jdbc、username");
ﻩPASSWORD =rb、getString("jdbc、password");
DRIVER=rb、getString("jdbc、driver");
try{
ﻩﻩﻩClass、forName(DRIVER);
ﻩﻩ}
ﻩﻩcatch(ClassNotFoundException e) {
ﻩﻩﻩe、printStackTrace();
ﻩ}
}
ﻩ/*static{ //使用静态块加载驱动程
ﻩtry{
ﻩClass、forName(DRIVER);
ﻩ}
ﻩcatch (ClassNotFoundExceptione){
ﻩﻩ// TODOAuto—generatedcatchblock
ﻩe、printStackTrace();
ﻩ}
ﻩ}*/
ﻩpublicstaticConnectiongetConnection(){//连接
Connectionconn=null;
ﻩtry{
ﻩconn= (Connection)DriverManager、getConnection(URL,USERNAME, PASSWORD);
ﻩ}catch (SQLException e){
ﻩ// TODOAuto—generatedcatch block
ﻩe、printStackTrace();
System、out、println("shibai");
}
ﻩﻩreturnconn;
ﻩ}
publicstaticvoidclose(ResultSetrs,Statementstate,Connectionconn){//关闭
ﻩﻩtry{
ﻩﻩif(rs!
=null)rs、close();
ﻩif(state!
=null)state、close();
if(conn!
=null)conn、close();
ﻩﻩ} catch(SQLExceptione){
//TODOAuto-generatedcatchblock
ﻩe、printStackTrace();
ﻩ}
ﻩ}
}
package、util、db;
import java、sql、ResultSet;
importjava、sql、SQLException;
import、util、db、DBUtilds;
import、mysql、jdbc、Connection;
import、mysql、jdbc、PreparedStatement;
import、shi、base、ResultSetHandler;
publicclass JdbcTemplete{
ﻩpublic intupdate(Stringsql,Object、、、args)throwsSQLException{// 在JdbcTemplete类
ﻩConnectionconn=null;
PreparedStatementps= null;
ﻩtry{
ﻩﻩﻩconn=DBUtilds、getConnection();
ﻩﻩﻩps=(PreparedStatement)conn、prepareStatement(sql);
ﻩﻩ//设置占位符得参数
ﻩﻩif(args!
=null)
ﻩﻩ{
for (inti =0;i<args、length; i++)
ﻩﻩﻩﻩ{
ﻩﻩps、setObject(i+1, args[i]);
ﻩ}
ﻩﻩﻩ}
ﻩreturn ps、executeUpdate();
ﻩﻩﻩ}catch(SQLExceptione){
ﻩﻩﻩe、printStackTrace();
ﻩreturn-1;
ﻩ}finally{
ﻩﻩDBUtilds、close(null,ps,conn);
ﻩ}
ﻩ}
publicObject query(Stringsql,ResultSetHandlerhandler,Object、、、args)throwsSQLException{
ﻩﻩConnectionconn=null;
PreparedStatementps=null;
ﻩResultSetrs=null;ﻩ
ﻩﻩtry{
ﻩconn= DBUtilds、getConnection();
ﻩﻩﻩps = (PreparedStatement)conn、prepareStatement(sql);
ﻩif(args!
=null){
ﻩﻩfor(inti=0; iﻩﻩps、setObject(i+1,args[i]);
ﻩﻩﻩ}
ﻩ}
rs= ps、executeQuery();
ﻩﻩreturn handler、doHandler(rs);
ﻩﻩﻩ}catch(SQLExceptione){
ﻩﻩﻩe、printStackTrace();
ﻩﻩreturnnull;
}finally{
ﻩﻩDBUtilds、close(null,ps,conn);
ﻩ}
ﻩ}
}
Dbconfig、properties
jdbc、url=jdbc\:
mysql\:
//localhost\:
3306/odinms
jdbc、username=root
jdbc、password=123456
jdbc、driver=、mysql、jdbc、Driver
packagetest;
import java、sql、SQLException;
importjava、util、List;
import、shi、dao、PersonDao;
import、shi、dao、impl、PersonDaoImpl;
import、shi、domain、Person;
public classmain{
ﻩpublic static voidmain(String[] args) {
ﻩﻩPersonDaodao=newPersonDaoImpl();
try {
dao、add(newPerson(13,"小黑”,30,"黑色"));
Personp=dao、findById
(2);
ﻩﻩ//System、out、println(p);
ﻩﻩList<Person〉persons= dao、findAll();
ﻩfor(int i= 0; i〈 persons、size();i++)
ﻩﻩﻩ{
ﻩﻩSystem、out、println(persons、get(i));
ﻩ}
ﻩﻩ}
ﻩcatch(SQLExceptione){
e、printStackTrace();
ﻩ}
ﻩ}
}
实验二:
JSP+Model1实践(增删改查)
在实验1得基础上,导入mysql驱动得jar包,webroot下增加以下jsp代码
index、jsp
〈%pagelanguage="java”import="java、util、*"pageEncoding="UTF-8"%>
〈%
String path =request、getContextPath();
StringbasePath =request、getScheme()+”:
//”+request、getServerName()+":
"+request、getServerPort()+path+"/”;
%>
DOCTYPE HTMLPUBLIC”—//W3C//DTDHTML4、01 Transitional//EN”〉
〈html>
〈head>
<base href="〈%=basePath%〉">
〈meta —equiv="pragma" content="no-cache">
〈meta-equiv=”cache-control” content=”no—cache">
<meta -equiv="expires"content=”0”>
〈meta—equiv="keywords" content="keyword1,keyword2,keyword3”〉
ﻩ<meta—equiv="description” content="Thisis my page">
〈!
--
ﻩﻩ--〉
〈style type=”text/css"〉
a{ font-size:
50px;
ﻩ text—decoration:
none;
ﻩ color:
red; ﻩ
ﻩ}
ﻩa:
hover{color:
blue;background-color:
#ffffff;}
ﻩ</style>
</head〉
<h1〉〈ahref=”list、jsp”〉查瞧所有学生信息</a〉
</body>
〈/html>
list、jsp
〈%pagelanguage="java"import="java、util、*”pageEncoding=”UTF-8”%〉
<%page import=”、shi、base、ResultSetHandler"%〉
<%pageimport="、shi、dao、PersonDao”%>
〈%pageimport="、shi、dao、impl、PersonDaoImpl" %>
〈% pageimport="、shi、domain、Person”%>
<%pageimport=”、util、db、DBUtilds" %>
<% pageimport=”、util、db、JdbcTemplete"%〉
〈% pageimport=”java、util、List"%>
<%
Stringpath =request、getContextPath();
StringbasePath=request、getScheme()+”:
//”+request、getServerName()+":
"+request、getServerPort()+path+"/”;
%>
〈!
DOCTYPE HTMLPUBLIC "-//W3C//DTDHTML4、01 Transitional//EN"〉
〈html>
〈head〉
<basehref="<%=basePath%>"〉
<meta —equiv=”pragma"content=”no—cache">
ﻩ〈meta-equiv="cache-control" content="no—cache">
ﻩ〈meta—equiv="expires"content="0”>
〈meta—equiv="keywords"content="keyword1,keyword2,keyword3">
ﻩﻩ<!
--
〈linkrel=”stylesheet”type=”text/css”href=”styles、css">
ﻩ—->
<%
ﻩPersonDaodao= newPersonDaoImpl();
List〈Person>persons=dao、findAll();
%>
〈h2>学生信息列表
添加学生信息〈/a〉
<tableborder=”1">
<tr>
ﻩﻩ<th〉编号
ﻩ ﻩ〈th>操作</th〉 ﻩ 〈% for(inti= 0; i< persons、size();i++) ﻩ{ ﻩﻩPersonp= persons、get(i); %〉 <tr> | 〈td><%=p、getName()%>〈/td〉 〈td>〈%=p、getAge()%〉〈/td〉 <td〉<%=p、getPre()%> | ﻩ ﻩ〈ahref ="update、jsp? pid=<%= p、getId()%>">修改 〈ahre
展开阅读全文
相关搜索
|