栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MyBatis学习笔记2-常用功能完善

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MyBatis学习笔记2-常用功能完善

  • 在上一篇文章中,练习了mybatis入门案例,过程中疏忽了一个步骤,就是日志文件的导入,我这里文件名叫做log4j.properties,位置在resources包下,其内容网上有很多格式,我这里使用其一种,如下:
# priority  :debug> Method: %l ]%n%p:%m%n
#debug log
log4j.logger.debug=debug
log4j.appender.debug=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.debug.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.debug.File=./src/com/hp/log/debug.log
log4j.appender.debug.Append=true
log4j.appender.debug.Threshold=DEBUG
log4j.appender.debug.layout=org.apache.log4j.PatternLayout 
log4j.appender.debug.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss a} [Thread: %t][ Class:%c >> Method: %l ]%n%p:%m%n
#warn log
log4j.logger.warn=warn
log4j.appender.warn=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.warn.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.warn.File=./src/com/hp/log/warn.log
log4j.appender.warn.Append=true
log4j.appender.warn.Threshold=WARN
log4j.appender.warn.layout=org.apache.log4j.PatternLayout 
log4j.appender.warn.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss a} [Thread: %t][ Class:%c >> Method: %l ]%n%p:%m%n
#error
log4j.logger.error=error
log4j.appender.error = org.apache.log4j.DailyRollingFileAppender
log4j.appender.error.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.error.File = ./src/com/hp/log/error.log 
log4j.appender.error.Append = true
log4j.appender.error.Threshold = ERROR 
log4j.appender.error.layout = org.apache.log4j.PatternLayout
log4j.appender.error.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss a} [Thread: %t][ Class:%c >> Method: %l ]%n%p:%m%n

这段代码没有任何技术含量,在这里就不用自己敲了,复制粘贴即可
最后,整个文件的目录结构如下:(QueryVO文件可忽略不计,后面会提到)

我在dao包下,还写了IUerDaoImpl类,此类继承IUserDao接口,是另一种写法,这里不予叙述,后面就不会再写这个类了。

最后,对整个入门案例进行一下回顾,看一下整个流程


从这里开始今天的内容
今天在之前的基础上,新增 添加用户,修改用户,删除用户等功能
1.实现添加用户,修改用户,删除用户的功能
在IUserDao接口下,添加这几个方法,方法名最好见名知意。

public interface IUserDao {
    //查询用户
    List findAll();
    //添加用户
    void addUser(User user);
    //修改用户
    void update(User user);//修改的用户是user中的id,修改的内容是user中的其余内容
    //删除用户
    void delete(int id);
}

然后在IUserDao.xml配置文件中写具体的sql语句,插一句,后面sql语句主要在mapper标签中写,查找在select标签中写,修改在update标签中写,删除在update标签中写,用的最多的也是这几个标签。最后写好的代码如下:






    
        select * from user where id=#{user_id};

这里就用一个按照id查找用户为例,其余功能就不展示了,有兴趣的伙伴可以练习一下其他功能,毕竟看的再多,没有自己动手敲一遍来的踏实。
测试文件和之前的差不多,这里就不再赘述了。

3.给实体类起别名
如上面所说,我在一些地方,如parameterType这里时,直接写的user,这是因为我给User这个类起了别名,所以在用的时候,不用写具体路径,直接写我起的别名就好。
这个配置文件在SqlMapConfig.xml中写,使用的是typeAliases标签。如下:


	
        
        
    

想给哪个类起别名,我们就可以一个一个写,这里可以写多个。但如果觉得这样还是麻烦,我们可以用package标签,给该包下的所有实体类配置别名,具体实现如下:



        	

    

我们给某个包下所有的实体类配置了别名,这个别名叫啥,可以是原来的类名可以是原来的类名全部小写,或全部大写例如:User或user或USER这三个都是别名用哪个都行。

4.将配置文件单独写。
为了解耦,我们可以把配置文件单独写出来
在resources包下,新建一个文件,起名jdbcConfig.properties,在里面写下面代码:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=root
jdbc.password=123456

然后在SqlConfig.xml配置文件中进行配置,导入配置文件
首先,写一个properties标签,导入文件,需要注意的是,properties标签在configuration标签里面的最前面,在typeAliases前面,如下



    
    

然后,将之前配置的参数进行修改即可,如下:



                
                
                
                

自此以后,我们要是想换其他数据库,直接在jdbc.properties中修改就好了

5.使用package自动扫描
在SqlMapConfig.xml配置文件中的最后,mapper里我们可以使用package标签,自动扫描该包下的所有接口,这样就不用手动添加了,如下:

	

        
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/632119.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号