- 查询people表
- 具体思路
- 数据库连接类(工具类)、实体类、dao接口类、dao接口实现类(继承dao接口类)、工厂接口类(service类接口)、工厂接口实现类(继承工厂接口类,service实现类)
- 调用方式,使用工厂接口实现类中的方法来实现对数据库的操作。
- 数据库连接类
package com.zg.shu.util; import java.sql.*; public class JDBCUtil { public static Connection getConnection(){ Connection conn=null; try { String URL = "jdbc:mysql://localhost:3306/ppp?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone = GMT"; String USER = "root"; String PASSWORD = "hyy5201314"; //1.加载驱动程序 Class.forName("com.mysql.cj.jdbc.Driver"); //2.获得数据库链接 conn= DriverManager.getConnection(URL, USER, PASSWORD); }catch (SQLException e) { e.printStackTrace(); }catch (ClassNotFoundException e) { e.printStackTrace(); } return conn; } public static void CloseConn(Connection conn){ try { if (conn!=null){ conn.close(); } }catch (SQLException e){ e.printStackTrace(); } } }
-
实体类
package com.zg.shu.entity; import java.io.Serializable; public class Person implements Serializable { private static final long serialVersionUID = 1L; private int id; private String name; private String password; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
- dao接口
package com.zg.shu.dao; import com.zg.shu.entity.Person; public interface PersonDao { public Person findMaster(Person person); }
-
dao接口实现类
package com.zg.shu.daoImpl; import com.zg.shu.dao.PersonDao; import com.zg.shu.entity.Person; import com.zg.shu.util.JDBCUtil; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; public class PersonDaoImpl implements PersonDao { @Override public Person findMaster(Person person) { Connection conne = null; PreparedStatement pstmt = null; ResultSet rs = null; Person person2 = null; String sql = "SELECT * FROM people"; try { conne = JDBCUtil.getConnection(); // 建立了到特定数据库的连接之后,就可用该连接发送 SQL 语句。 pstmt = conne.prepareStatement(sql); rs = pstmt.executeQuery(); if (rs.next()) { person2 = new Person(); person2.setId(Integer.parseInt(rs.getString("id"))); person2.setName(rs.getString("name")); person2.setPassword(rs.getString("password")); } } catch (Exception e) { e.printStackTrace(); } finally { JDBCUtil.CloseConn(conne); } return person2; } }
-
dao工厂接口
package com.zg.shu.service; import com.zg.shu.entity.Person; public interface PersonService { public boolean login(Person person); }
- dao工厂实现类
package com.zg.shu.serviceImpl; import com.zg.shu.dao.PersonDao; import com.zg.shu.daoImpl.PersonDaoImpl; import com.zg.shu.entity.Person; import com.zg.shu.service.PersonService; public class PersonServiceImpl implements PersonService { @Override public boolean login(Person person) { boolean isLogin=false; PersonDao pd=new PersonDaoImpl(); Person ps2=pd.findMaster(person); if (null!=ps2){ return true; } return false; } }
- 调用
package com.zg.shu.test; import com.zg.shu.entity.Person; import com.zg.shu.service.PersonService; import com.zg.shu.serviceImpl.PersonServiceImpl; import java.util.Scanner; public class LoginTest { public String Login(){ String loginName="11"; String loginPassword="22"; Person person = new Person(); person.setName(loginName); person.setPassword(loginPassword); PersonService ps = new PersonServiceImpl(); boolean isLoginid = ps.login(person); if (isLoginid) { System.out.println("登录成功"); } else { System.out.println("用户名或密码错误"); } return isLoginid+""; } }
Dao设计模式
最新推荐文章于 2025-03-21 13:56:15 发布