| /* 需求:数据库的操作
 1.连接数据库  JBDC Hibernate
 2.操作数据库  create upate delete
 3.关闭数据库连接
 */
 class User
 {
 public void InfoOperate(UserInfoDao ui)
 {
 ui.add();
 ui.delete();
 }
 }
 interface UserInfoDao//Dao:data access object
 {
 public void add();
 public void delete();//这里面你没有必要再给它进行传参了,因为在主函数中 User  u= new User();
 //已经告诉你了是user在操作数据库了,你就不用在函数中传user了,不符合逻辑
 //把这两个函数定义成空参数类型,这样就可以了
 //然后把下面的代码全部定义成空参
 }
 
 class UserInfoJBDC implements UserInfoDao
 {
 public void add()
 {
 //1.连接数据库   2. 使用sql添加语句添加数据  3.关闭连接
 System.out.println("JBDC add data");
 }
 
 public void delete()
 {
 //1.连接数据库   2. 使用sql添加语句删除数据  3.关闭连接
 System.out.println("JBDC delete data");
 }
 }
 class UserInfoHibernate implements UserInfoDao
 {
 public void add()
 {
 //1.Hibernate连接数据库   2. 使用sql添加语句添加数据  3.关闭连接
 System.out.println("Hibernate add data");
 }
 
 public void delete()
 {
 //1.Hibernate连接数据库   2. 使用sql添加语句删除数据  3.关闭连接
 System.out.println("Hibernate delete data");
 }
 }
 class Test9
 {
 public static void main(String[] args)
 {
 User  u= new User();
 u.InfoOperate(new UserInfoJBDC());
 
 }
 }
 |