查看“商苑面馆:Java命令行版之 Dao层(MySQL实现)”的源代码
←
商苑面馆:Java命令行版之 Dao层(MySQL实现)
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==Dao层== [[文件:Java8-1.png]] ==前期准备== 在entity包下建立User类: <nowiki>package entity; public class User { //成员变量 public String name; public String password; //构造方法 public User(){ } public User(String name,String password ){ this.name=name; this.password=password; } //读方法 public String getname(){ return this.name; } //写方法 public boolean setName(String s){ this.name = s; return true; } //获取用户密码 public String getPwd(){ return this.password; } //写方法 public boolean setPwd(String p){ this.password = p; return true; } }</nowiki> ==实现步骤== ===建立接口UserDao=== 在包dao下建立抽象接口UserDao <nowiki>package dao; import entity.User; public interface UserDao { public boolean addUser(User u);//抽象方法1:增加用户,接口的实现类必须实现这个方法 public boolean verify(String name, String pwd);//验证用户名和密码是否一致 public User search(String s);//抽象方法2:搜索商品,接口的实现类必须实现这个方法 public String toString(); //抽象方法3:展示所有商品,接口的实现类必须实现这个方法 }</nowiki> ===建立接口的实现类=== 接口实现类可以用多种方式实现,ArrayList,LinkedList, MySQL等 这里我们用MySQL实现 ====建立接口实现类UserDaoMySQL==== <nowiki>package dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.sql.*; import entity.User; public class UserDaoSQL implements UserDao{ Connection con=null; public UserDaoSQL(){ con = getConn(); } public static void main(String[] args) { // TODO Auto-generated method stub } } </nowiki> ====编写连接方法getConn==== 这个方法的作用主要是进行数据库的初始连接: <nowiki>private static Connection getConn() { // JDBC 驱动名及数据库 URL final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; final String DB_URL = "jdbc:mysql://localhost:3306/cloud"; // 数据库的用户名与密码,需要根据自己的设置 final String USER = "root"; final String PASS = "000000"; Connection conn = null; try { Class.forName(JDBC_DRIVER); //classLoader,加载对应驱动 conn = (Connection) DriverManager.getConnection(DB_URL, USER, PASS); System.out.println("MySQL连接成功!"); } catch (ClassNotFoundException e) { System.out.println(e.getMessage()); } catch (SQLException e) { System.out.println(e.getMessage()); } return conn; }</nowiki> ====登录验证方法:verify()==== <nowiki> public boolean verify(String username, String password) { try { Connection con = this.con;//建立数据库的连接 ResultSet rs = null; //建立一个空的结果集 //1.创建PreparedStatement 对象,让它与一条SQL模板绑定; String sql = "select * from user where name=? and password=?"; PreparedStatement pstmt = (PreparedStatement) con.prepareStatement(sql); //使用2. setXXX()系列方法为sql命令设置值 pstmt.setString(1, username);// pstmt.setString(2, password); //setInt,setFloat //3.执行查询 rs = pstmt.executeQuery();// if(rs.next()) { System.out.println("欢迎" + rs.getString("name")); } else { System.out.println("用户名或密码错误!"); } pstmt.close(); }catch (SQLException e) { System.out.println(e.getMessage()); } return false; }</nowiki> 在UserDaoSQL类的main方法中编写测试代码: <nowiki> public static void main(String[] args) throws Exception{ // TODO Auto-generated method stub User u1 = new User("ma","123456"); UserDaoSQL userset =new UserDaoSQL(); userset.verify(u1.getName(),u1.getPwd()); userset.con.close();//关闭数据库 }</nowiki> [[文件:java7-40.png]] ====添加新用户方法:adddUser( )==== <nowiki>public int addUser(User user){ Connection conn = this.con;//建立数据库的连接 int i = 0; //建立一个空的整形变量i try { //1.创建PreparedStatement 对象,让它与一条SQL模板绑定; String sql = "insert into user (name,password) values(?,?)"; PreparedStatement pstmt; = (PreparedStatement) conn.prepareStatement(sql); //使用2. setXXX()系列方法为sql命令设置值 pstmt.setString(1, user.getName()); pstmt.setString(2, user.getPassword()); //pstmt.setInt(2, user.getAge()); pstmt.setDate //3.执行查询 i = pstmt.executeUpdate(); if(i!=0){ System.out.println(user.getName()+"插入成功!"); }else{ System.out.println(user.getName()+"插入失败!"); } pstmt.close(); } catch (SQLException e) {//检测/捕获异常 System.out.println(e.getMessage()); } return i; }</nowiki> 在UserDaoSQL类的main方法中编写测试代码: <nowiki>public static void main(String[] args) throws Exception{ // TODO Auto-generated method stub User u1 = new User("ma","123456"); UserDaoSQL userset =new UserDaoSQL(); userset.verify(u1.getName(),u1.getPwd()); User u2 = new User("xing5","123456"); userset.addUser(u2);//插入数据 userset.con.close();//关闭数据库 }</nowiki> [[文件:java7-41.png]]
返回至
商苑面馆:Java命令行版之 Dao层(MySQL实现)
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息