8、最后就是补充Javabean中的数据库连接与管理类。
public class DBConnect {
public Statement stmt = null;
//连接
public static Connection getConnection(){
Connection con=null;
try {
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/sushe?useUnicode=true&characterEncoding=UTF-8";
String user="root";
String password="111";
con=DriverManager.getConnection(url, user, password);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return con;
}
//查询操作
public ResultSet DBQuery(String sqlText) {
Connection conn1=null;
ResultSet rs=null;
java.sql.Statement stmt=null;
try{
conn1=getConnection();
stmt=conn1.createStatement();
rs=stmt.executeQuery(sqlText);
}
catch(Exception x){
x.printStackTrace();
}
return rs;
}
//更新操作。
public int DBUpdate(String sqlText){
Connection conn=null;
int rowcount=0;
try{
conn=getConnection();
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rowcount=stmt.executeUpdate(sqlText);
}catch(Exception x){
x.printStackTrace();
}
return rowcount;
}
}9、关于插入数据到数据库的乱码问题,注意数据库的编码。可以创建一个过滤器,放到Javabe包中。
public class CharacterEncodingFilter implements Filter {
protected String encoding = null; // 定义编码格式变量
protected FilterConfig filterConfig = null; // 定义过滤器配置对象
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig; // 初始化过滤器配置对象
this.encoding = filterConfig.getInitParameter("encoding"); // 获取配置文件中指定的编码格式
}
// 过滤器的接口方法,用于执行过滤业务
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if (encoding != null) {
request.setCharacterEncoding(encoding); // 设置请求的编码
// 设置应答对象的内容类型(包括编码格式)
response.setContentType("text/html; charset=" + encoding);
//System.out.println("sssssssssssss");
}
chain.doFilter(request, response); // 传递给下一个过滤器
}
public void destroy() {
this.encoding = null;
this.filterConfig = null;
}
} 10、思考:其中有很多功能重复利用,怎样减少代码的重复,优化代码。