/*
需求:数据库的操作
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());
}
} |