重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
怎么看待Servlet和Jsp知识点,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
创新互联-专业网站定制、快速模板网站建设、高性价比萧山网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式萧山网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖萧山地区。费用合理售后完善,十载实体公司更值得信赖。
tomcat,MySQL,Navicat For mysql,eclipse(javaee)
注意是Dynamic Web Project,module version选择2.5或者3.0都可以
新建server,完成后完成以下配置,这样就能在eclipse里直接用tomcat服务器了。这里如果选择第一个的话,eclipse会自己下载一个简易版的tomcat。
实现网页对数据库的查询或者新增,需要MVC开发模式,这里画了一个图,大概就是这样:
写一个与数据库对应的类,包名以.pojo结尾。set get方法、构造方法、无参构造方法和toString方法都写一遍,反正alt+s自动生成。
package com.pojo; public class User { private int uid; private String uname; private String pwd; private String sex; private int age; private String birth; public int getUid() { return uid; } public void setUid(int uid) { this.uid = uid; } public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getBirth() { return birth; } public void setBirth(String birth) { this.birth = birth; } public User(int uid, String uname, String pwd, String sex, int age, String birth) { super(); this.uid = uid; this.uname = uname; this.pwd = pwd; this.sex = sex; this.age = age; this.birth = birth; } public User() { super(); } @Override public String toString() { return "User [uid=" + uid + ", uname=" + uname + ", pwd=" + pwd + ", sex=" + sex + ", age=" + age + ", birth=" + birth + "]"; } }
package com.dao; import java.util.List; import com.pojo.User; public interface UserDao { //登录 User checkUserLoginDao(String uname,String pwd); //密码修改 int userChangePwdDao(String newPwd, int uid); //显示所有信息 ListshowAllDao(); //插入用户 int userRegDao(String uname, String pwd, String sex, String age, String birth); }
这里以一个插入和查询的方法为例,按照基本步骤来就可以。
查询:
public User checkUserLoginDao(String uname, String pwd) { //创建jdbc对象 Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; //创建实体类对象 User u = null; try { //加载驱动 Class.forName("com.mysql.jdbc.Driver"); //获取连接 conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test2","root","lijingjing"); //创建sql语句 String sql = "select * from t_user where uname=? and pwd=?"; //创建sql对象 ps = conn.prepareStatement(sql); //给占位符赋值 ps.setString(1, uname); ps.setString(2, pwd); //ִ执行sql rs = ps.executeQuery(); //遍历结果集 while(rs.next()) { u = new User(); u.setAge(rs.getInt("age")); u.setUid(rs.getInt("uid")); u.setBirth(rs.getString("birth")); u.setPwd(rs.getString("pwd")); u.setSex(rs.getString("sex")); u.setUname(rs.getString("uname")); } } catch (Exception e) { e.printStackTrace(); }finally { try { rs.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { ps.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return u; }
插入的代码流程和查询大同小异,不同在于不需要rs结果集,返回值为int类型(表示受影响的行数),index = ps.executeUpdate();
另外为保证中文能够在数据库中正常显示,在加载驱动这一步时,数据库后面要加上?useUnicode=true&characterEncoding=UTF8
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test2?useUnicode=true&characterEncoding=UTF8","root","lijingjing");
这样数据访问层就写完了。
一般这一层会对从Dao层取到的数据进行业务逻辑处理,这里只是简单的返回。
package com.service; import java.util.List; import com.pojo.User; public interface UserService { //登录 User checkUserLoginService(String uname,String pwd); //修改密码 int userChangePwdService(String newPwd, int uid); //展示所有用户信息 ListshowAllService(); //注册 void userRegService(String uname, String pwd, String sex, String age, String birth); }
继承上面的接口,实现其方法,创建Dao层对象,返回即可,代码不上了。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。