发表于: 2019-10-21 23:56:36

2 1010


今天完成的事情:


关于mybatis的知识


mybatis里的关系和流程
1.创建映射文件和配置文件
配置文件的作用是链接mysql和配置mysql地址、用户名、密码。    (mybatis-config.xml)

映射文件是实现Dao接口里的方法(里面是sql语句)                          (mapper.xml)


2.创建Dao接口, 因为在映射文件里实现了Dao接口
所以不需要实现类  (不需要再创建一个类去实现dao接口,区别与jdbctemplate)    
3.创建实体类,以将Dao接口进一步具体化。   实体类有属性和方法(set+ get)



拓展: 为什么mybatis不需要impl
因为实现语句已经放在mapper.xml配置文件里了

所以不需要再去实现 最直接调用即可



其他注意事项


mybatis   增  删  改  的操作需要调用sqlsession.commit( ),不然数据无法进入


mybatis  查    的操作不需要调用   直接关闭sqlsession即可



今天尝试下写mybatis的增删改查  


但以下几项有问题


的这个代码

这句出问题   自己还没看  list<>知识    不太懂出错误的原理



改 和  增   也未成功  

public void updateStudent() throws IOException {
String resource = "mybatis-config.xml";
       InputStream inputStream = Resources.getResourceAsStream(resource);
       SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
       SqlSession sqlSession = sqlSessionFactory.openSession();
       String statement = "mappers.StudentMapper.deleteStudent";

       Student student = new Student();
       student.setName("文章");
       student.setType("后端");
       student.setId("5");

       int i = sqlSession.delete(statement, student);
       if (i > 0) {
System.out.println(true);
       } else {
System.out.println(false);
        }
sqlSession.commit();
        sqlSession.close();
       }



@Test
   public void insertStudent() throws IOException {
String resource = "mybatis-config.xml";
       InputStream inputStream = Resources.getResourceAsStream(resource);
       SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
       SqlSession sqlSession = sqlSessionFactory.openSession();
       String statement = "mappers.StudentMapper.deleteStudent";

       Student student = new Student();

       student.setId(13);
       student.setName("王丽丽");
       student.setqq(15849996);
//        insert的()里,需要路径和student的具体的值
       sqlSession.insert(statement, student);

       System.out.println(student.getId());

       sqlSession.commit();

       sqlSession.close();

有报错   但我还是没找到原因...   



明天计划的事情:

整理了下在学习过程中

做任务会接触到的,没有学习的知识点

导致自己对一些代码难以理解


都得看看


1. 关于方法和对象等知识

构造方法  函数 或 创建对象 等知识   

虽然都看过    但现在一接触代码   

总感觉越来越模糊不清  


2.list<>  这个涉及到集合和泛型   

连接数据库查询要用,不会


3.关于 注解 得知识   最近得任务很需要这个


4. rowmapper的知识   

jdbctemplate查询代码   有用到这个  不会


5.关于bean的相关知识    注入方法  作用域 周期  之类的

我也是看师兄日报,看到他们都写到这个

而我没看过


6.看mybatis还涉及到一个  反射  映射 知识   不了解  

感觉需要看


7.师兄提醒的  动态mysql语句


好多....妈耶

  


遇到的问题:


jdbctemplate 查  有问题

Mybatis 查改增  有问题


先把要看的知识补充完,然后再试试把这两个出现的解决


收获:


偶然又看到一个关于ioc文章  

虽然不涉及代码   但真是通俗易懂   

https://www.cnblogs.com/superjt/p/4311577.html


返回列表 返回列表
评论

    分享到