框架要解决的问题:框架要解决的最重要的一个问题是技术整合的问题,在J2EE的 框架中,有着各种各样的技术,不同的软件企业需要从12EE 中洗择不同的技术,这就使得软件企业最终的应用依赖于这些技术,技术自身的复杂性和技术的风险性将会直接对应用造成冲击。而应用是软件企业的核心,是竞争力的关键所在,因此应该将应用自身的设计和具体的实现技术解耦。
这样,软件企业的研发将集中在应用的设计上,而不是具体的技术实现,技术实现是应用的底层支撑,它不应该直接对应用产生影响
框架一般处在低层应用平台(如J2EE)和高层业务逻辑之间的中间层框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法。另一种定义认为,框架是可被应用开发者定制的应用骨架
创建数据库
![](https://i-blog.csdnimg.cn/blog_migrate/b63c22c222267e1c863895f36b93ab15.png)
创建一个Java项目
创建一个lib文件夹导入mybatis框架所需要的jar
![](https://i-blog.csdnimg.cn/blog_migrate/162260f234de1ce71586e2da68133c8a.png)
3.创建数据库的实体类:
![](https://i-blog.csdnimg.cn/blog_migrate/f083408dcc42809f13c608d6aae90e3a.png)
4.创建一个接口类:
![](https://i-blog.csdnimg.cn/blog_migrate/8033d49b8b44c7dfd7e5a64fdaba5d08.png)
5.在UserDao.xml中创建对应的mapper映射配置文件
![](https://i-blog.csdnimg.cn/blog_migrate/198c15a37d788d7a8c94d52404c3a5f4.png)
6.在src目录中创建mybatis.xml框架的核心配置文件。
![](https://i-blog.csdnimg.cn/blog_migrate/e1e6e6744d2f12956fe6d9e034a65b62.png)
7.在测试类中进行测试
全查,删除和添加代码
public class UserTest {
InputStream stream =null;
SqlSessionFactoryBuilder builder=null;
SqlSessionFactory factory=null;
SqlSession sqlSession=null;
UserDao userDao=null;
@Before
public void init() throws IOException {
stream = Resources.getResourceAsStream("mybatis.xml");
builder=new SqlSessionFactoryBuilder();
factory=builder.build(stream);
sqlSession=factory.openSession();
userDao=sqlSession.getMapper(UserDao.class);
}
@Test
public void testSelectAll() throws IOException {
List<User>userList=userDao.selectAll();
for(User user: userList){
System.out.println(user);
}
}
@Test
public void testDelete(){
int n = userDao.delete(8);
if(n>0){
System.out.println("delete success");
}
}
@Test
public void testAdd() throws IOException {
User user=new User();
user.setUsername("胡凯");
user.setPassword("666");
user.setPhone("222");
user.setAddress("河南");
int n = userDao.add(user);
if (n>0){
System.out.println("success");
}else {
System.out.println("error");
}
}
@After
public void distroy() throws IOException {
sqlSession.commit();
sqlSession.close();
stream.close();
}
8.全部运行结果
全查成功
![](https://i-blog.csdnimg.cn/blog_migrate/27b1f958bac7b9babafadbf8ad256d07.png)
添加成功
![](https://i-blog.csdnimg.cn/blog_migrate/c2d2f5ca61ece83616eacdffa75b7d0e.png)
删除成功
![](https://i-blog.csdnimg.cn/blog_migrate/e067eaf2cac10af445a87e69ea3f1211.png)
9.单查和修改
在UserDao.xml中创建对应的mapper映射配置文件
![](https://i-blog.csdnimg.cn/blog_migrate/fc064270e8296e4c821ed0986e18292f.png)
在测试类中进行测试
![](https://i-blog.csdnimg.cn/blog_migrate/f4689d5488a905af3aeb5e69e3dfcb2d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3d7d900731f4be95990cb6976ab41f88.png)
模糊查询
![](https://i-blog.csdnimg.cn/blog_migrate/4d1263e4c49dca79fa0be5d0513a7c43.png)
![](https://i-blog.csdnimg.cn/blog_migrate/523fef8a1eab948ad2a03c380ad58303.png)