sprinboot helloworld

springboot日记

入门学习intellij IDEA 上springboot + mybatis 搭建环境,主要参考文章https://www.cnblogs.com/wmyskxz/p/9010832.html

这篇文章基本可以完全follow下来,不过我没有使用mysql数据库而是更换了oracle数据库。并且其中maven库的文件也需要参考自己本机的。 可以查看File->settings, 放大镜查找repo即可看到Repositoreis的本机的位置。从这个本地文件夹去判定自己有的库的版本号。
我是参考命令mvn install:install-file -Dfile=ojdbc6.jar -Dpackaging=jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.1.0 ,命令解释:mvn install:install-file -Dfile=“jar包的绝对路径” -Dpackaging=“文件打包方式” -DgroupId=groupid名 -DartifactId=artifactId名 -Dversion=jar版本 (artifactId名对应之后maven配置的依赖名)。

由于上面的这个例子非常简单, mybatis使用的非常少,所以在此基础上,又学习了https://blog.csdn.net/weixin_42685022/article/details/82215893
如果说对idea创建springboot不熟悉的话,第一篇文档可以直接用来学习简单的springboot. 后面的这篇文档相对来说对mybatis集成方面说的比较详细,包括自动生成entity,dao部分。都可以严格follow下来。写的非常好。
由于我使用的oracle,并且使用序列生成主键,只要在需要插入的操作之前添加

 <selectKey keyProperty="id" keyColumn="id" resultType="int" order="BEFORE" >
        select user_id_seq.nextval  from dual
    </selectKey>

就可以了。例如:

  <insert id="adduser" parameterType="cn.wmyskxz.springboot.pojo.User" >
    <selectKey keyProperty="id" keyColumn="id" resultType="int" order="BEFORE" >
        select user_id_seq.nextval  from dual
    </selectKey>
        INSERT INTO user1 (id,username,password,age) VALUES (#{id},#{username},#{password},#{age})
    </insert>
user_id_seq就是自己创建的自增序列。
此外这里有一个坑我浪费了不少时间。 就是UserMapper.xml文件的位置问题。 我原来是放在了resources/mapper下面,但是后来我发现一直是无法识别接口,我就把这个文件的位置挪到跟dao接口的位置。问题就解决了。建议初学者也可以这样做,起码不会出错。后续再进行研究如何挪到别的位置也同样生效。

此外,我之前一直以为上面的这个只支持param传递,也就是下面的方法
//注册新用户(方式1)
int adduser1(@Param(“username”) String username, @Param(“password”) String password, @Param(“age”) int age);
但是实际上,使用对象的方法也是可以正常插入的。如下:
//注册新用户(方式2)
int adduser(User record);
而且下方法2可以返回插入的对象的ID,也就是我们的自增的主键,而方法一只是插入数据。方法2更类似对象的操作方式。我觉得更好。

最后说一下发布,我们所有的操作都完成后需要打包发布,可以参考https://blog.51cto.com/doublelinux/2343396 这篇。 一定要修改idea里面项目的启动文件。并且发布后可能会有很多提示缺少class之类的,这个一般情况都是包冲突了。检查tomcat/lib下的jar和你应用发布自带的jar,将tomcat的lib去掉换你自己应用的jar就可以解决了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值