发表于: 2018-02-03 20:57:39

2 642


今天做了什么:

线下第一天,重新看了之前做过的部分。

在师兄的指导下,把maven配置里的镜像下载地址里添加了阿里云。

开始学习Mybatis连接数据库,看了一遍师兄推荐的博文,不甚懂。

mybatis

1.全局配置文件和映射文件分别设置

2.sqlSessionFactory->创建sqlSession

3.sqlSession->crud

4.Excutor->执行

5.mappedStatement


整个环境目录

第一步配置环境,下载jar包,导入

<dependency> 

         <groupId>org.mybatis</groupId> 

         <artifactId>mybatis</artifactId> 

         <version>3.3.0</version> 

</dependency>


    全局配置文件 的<mappers>标签用来配置映射文件

    映射文件可以放到文件夹中,针对不同的操作对象,编写不同的xml文件。

    然后新建一个pojo ( plain ordinary java object)。新建操作的对象表。

     创建映射配置的xml文件,有很多语法。


  1. <select>标签:用于执行数据库查询的,所有关于查询的都使用该标签。
  2. id属性:标识映射文件中的sql,将sql语句封装到mappedStatement对象中,即statement的id,下面执行数据库的时候需要用到这个id。
  3. #{}:表示一个占位符,用来接收输入参数的。
  4. #{id}:id标识接收输入的参数,参数名称就是id,如果输入参数是简单类型,那么#{}中的参数名可以任意,可以value或者其他名称。
  5. parameterType:指定输入参数的类型,这个要和数据库中的保持一致。
  6. resultType:指定输出结果的类型,即查询结果所映射的java对象。
  7. resultType:这里虽然是查询多条记录,但是resultType指定的就是单条记录所映射的java对象类型。 
  8. ${}:表示拼接sql串,将接收到的参数的内容不加任何的修饰拼接在sql中,${}中只能使用value,但是使用${}来拼接sql,可能会引起sql注入,所以不建议使用这种方法。
  9. <insert>标签:用于执行数据库查询的,所有关于查询的都使用该标签。
  10. parameterType:要传入一个具体的pojo(包括用户信息)
  11. #{}中指定pojo的属性名,接收到pojo对象的属性值,mybatis通过OGNL获取对象的属性值。
  12. <selectKey>标签:用来返回插入数据的主键的,实际中如果有获得主键的需要就可以使用它。
  13.  select last_insert_id():是sql函数,表示得到刚刚insert进去记录的主键值,只适用于自增主键。
  14.  keyProperty:表示将查询到主键值设置到上面parameterType指定的对象的哪个属性。
  15.  order:表示select last_insert_id()的执行顺序,是相对于insert语句来说的。
  16. resultType:表示select last_insert_id()的结果类型。

自己写了一部分,还有部分没看懂。


同时还在看JDBC的DAO层规范。


明天计划做什么:

把mybatis和JDBC看完吧。


遇到的问题:

namespace不知道该怎么填,看了两篇说法不太一样。

师兄说,在没有动态代理的时候不需要写完全限定名,能够一一对应就行。



收获:

线下第一天,师兄们都很友善,当面交流可以学到的更多更全面。


返回列表 返回列表
评论

    分享到