发表于: 2018-03-24 23:57:34

1 549


今天完成的事情:(今天看了下mybatis的另一种方法 原始的DAO开发 

Dao开发方式需要dao接口和dao实现类,向dao实现类中注入SqlSessionFactory,在方法体内通过SqlSessionFactory创建SqlSession

  1. public interface UserDao {    
  2.       
  3.     public User findUserById(int id) throws Exception;  
  4. }  

  1. public class UserDaoImpl implements UserDao {  
  2.   
  3.       
  4.     private SqlSessionFactory sqlSessionFactory;   //通过构造方法向Dao实现类注入sqlSessionFactory
  5.     public UserDaoImpl(SqlSessionFactory sqlSessionFactory) {  
  6.         this.sqlSessionFactory = sqlSessionFactory;    
  7.     }  
  8.     @Override  //用于重写父类方法。避免方法名和参数写错 
  9.     public User findUserById(int id) throws Exception {  
  10.         SqlSession sqlSession = sqlSessionFactory.openSession();  //获取sqlSession
  11.         User user = sqlSession.selectOne("User.findUserById", id);  
  12.         sqlSession.close();  //关闭
  13.         return user;  
  14.     }  

          映射文件

  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE mapper  
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"  
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">  
  5.   
  6. <mapper namespace="User ">  //namespace一般是用来绑定接口Dao  这里写了接口实现类所以是指向实体类
  7.        <select id="findUserById" parameterType="int" resultType="cn.itcast.mybatis.po.User">  
  8.         SELECT * FROM USER WHERE id=#{value}  
  9.     </select>  
  10. </mapper>

Dao开发方式的局限性主要在于dao接口实现类方法中存在冗余并且存在硬编码。

2.然后做几个深度思考 

<1.maven是什么,和Ant有什么区别?

Ant和Maven都是基于Java的构建(build)工具。理论上来说,有些类似于(Unix)C中的make ,但没有make的缺陷。

Ant是软件构建工具,Maven的定位是软件项目管理和理解工具。

Ant特点

›没有一个约定的目录结构

›必须明确让ant做什么,什么时候做,然后编译,打包

›没有生命周期,必须定义目标及其实现的任务序列

›没有集成依赖管理

Maven特点

›拥有约定,知道你的代码在哪里,放到哪里去

›拥有一个生命周期,例如执行 mvn install 就可以自动执行编译,测试,打包等构建过程

›只需要定义一个pom.xml,然后把源码放到默认的目录,Maven帮你处理其他事情

›拥有依赖管理,仓库管理

 <2.clean,install,package,deploy分别代表什么含义?

clean;清理项目生产的临时文件

install;将打包的jar/war文件复制到你本地仓库中。

package;项目打包工具;

deploy;将打包的文件发到远程参考。


<3.怎么样能让Maven跳过JUnit?

在pom.xml文件中添加如下:

  1. <build>    
  2.     <plugins>    
  3.       <plugin>    
  4.         <groupId>org.apache.maven.plugins</groupId>    
  5.         <artifactId>maven-surefire-plugin</artifactId>    
  6.         <version>2.18.1</version>    
  7.         <configuration>    
  8.           <skipTests>true</skipTests>    
  9.         </configuration>    
  10.       </plugin>    
  11.     </plugins>    
  12.  </build>  

进入项目根目录,然后运行 

  1. mvn clean install -Dmaven.test.skip=true

<4.为什么要用Log4j来替代System.out.println?

Log4j可以轻松的控制log信息是否显示、log信息的输出端类型、输出方式、输出格式,更加细致地控制日志的生成过程,而其通过配置文件可以灵活的进行配置而不需要大量的更改代码。

Log4j的优势

a、日志输出的目的地,输出到控制台的速度比输出到文件系统的速度要慢。
b、日志输出格式不一样对性能也会有影响,如简单输出布局(SimpleLayout)比格式化输出布局(PatternLayout)输出速度要快。可以根据需要尽量采用简单输出布局格式输出日志信息。
c、日志级别越低输出的日志内容就越多,对系统系能影响很大。
d、日志输出方式的不同,对系统系能也是有一定影响的,采用异步输出方式比同步输出方式性能要高。
e、每次接收到日志输出事件就打印一条日志内容比当日志内容达到一定大小时打印系能要低。

 


3.尝试了一下spring mybatis 整合 由于基础太差 没成功 

明天再深入一下mybatis 和 spring 基础理论






明天计划的事情:(熟练) 
遇到的问题:(null) 
收获:(一些基础)


返回列表 返回列表
评论

    分享到