Spring整合MyBatis、全注解开发

小插曲:

连接数据库报错Can’t connect to local MySQL server through socket /tmp/mysql.sock,看了很多解决方法都跟自身情况不符,结果点了一下 系统偏好设置——下面MySQL服务——Initialize DataBase——Use Legacy Password——设置新密码——OK,就好了。。

准备

项目目录:

Spring整合MyBatis、全注解开发_第1张图片

 pojo类三个属性,空参有参构造,set get方法:

Spring整合MyBatis、全注解开发_第2张图片

数据库表:

Spring整合MyBatis、全注解开发_第3张图片

dao层接口4个抽象方法:

Spring整合MyBatis、全注解开发_第4张图片

service层接口抽象方法同dao层。

service层实现类,声明dao对象,定义set方法用于注入,实现的方法通通调用dao对象的:

Spring整合MyBatis、全注解开发_第5张图片

mybatis映射配置文件AccountDao.xml:

(注意:namespace与dao接口的全类名一致,select标签的id与dao接口的方法名一致,另外sql语句里的表名tb_account不要写错!)




    
    
    

    
    

    
    
        insert into tb_account(name,money)values(#{name},#{money})
    

    
    
        delete from tb_account where id = #{id}
    

    
    
        update tb_account set name=#{name},money=#{money} where id=#{id}
    
        

jdbc配置文件:

(注意url的写法,jdbc:mysql://IP:端口/数据库名!)

Spring整合MyBatis、全注解开发_第6张图片

spring配置文件





    
    

    
    
        
        
        
        
    
    
    
    
        
    

    
    
        
        
    

    
    
        
    
    

Servlet中通过spring调用service实现类对象:

运行输出:

spring注解

作用:代替spring配置文件中的标签。

原始注解:

Spring整合MyBatis、全注解开发_第7张图片  

@Component表示将这个资源交给spring管理。

@Controller、@Service、@Repository由@Component衍生而来,用于不同层,有了语义而已。

只用@Autowired是根据数据类型从spring容器里匹配资源,如果同一类型有多个资源,要用资源名称匹配,写两个注解:

或写一个: 

 @Value用法:读取配置文件:

使用注解:(set方法貌似也不需要了)

 Spring整合MyBatis、全注解开发_第8张图片

spring配置文件:

配置让spirng扫描注解的路径:

使用了注解的资源,bean就不需要了:

spring新注解

原始注解的局限:

上面的原始注解不能完全替代xml,如非自定义对象dataSource:

Spring整合MyBatis、全注解开发_第9张图片

新注解:

@Bean用法:

想把某个第三方对象管理到spring容器中,就定义一个类,类里定义一个返回该对象的方法,在方法上加@Bean,如果后面要注入这个资源,就七起个名称@Bean("XXX"),如果只是交给spring管理,就不需要起名。

全注解开发:

将spring配置文件、mybatis映射配置文件的全部配置项用注解替代。

mybatis映射配置文件:

Spring整合MyBatis、全注解开发_第10张图片

注解代替:

Spring整合MyBatis、全注解开发_第11张图片

spring配置文件

新建多个配置类:

Spring整合MyBatis、全注解开发_第12张图片

——SpringDataSourceConfig——

标签:

​​​​​​​Spring整合MyBatis、全注解开发_第13张图片

用注解替代:

Spring整合MyBatis、全注解开发_第14张图片

标签:

 

Spring整合MyBatis、全注解开发_第15张图片 

用注解替代:

Spring整合MyBatis、全注解开发_第16张图片

——SpringMybatisConfig——

标签:

Spring整合MyBatis、全注解开发_第17张图片 

用注解替代:

Spring整合MyBatis、全注解开发_第18张图片

——SpringConfig——

标签:

 

用注解替代:

——另外——

标签:

 

用注解替代:

Spring整合MyBatis、全注解开发_第19张图片 

到此为止,实现了全注解开发。

spring整合JUnit

pom文件:

Spring整合MyBatis、全注解开发_第20张图片 

Spring整合MyBatis、全注解开发_第21张图片

新建测试类:

Spring整合MyBatis、全注解开发_第22张图片 

Spring整合MyBatis、全注解开发_第23张图片

右击运行:

Spring整合MyBatis、全注解开发_第24张图片 

 

你可能感兴趣的:(Java,mybatis,spring,java)