Mybatis中使用序列自动插入主键
Mapper中的使用
在insert中增加下面两个属性,useGeneratedKeys和keyProperty
useGeneratedKeys="true" keyProperty="id"
如果数据库支持自增主键,这样就可以了。如果不行,需要自己创建序列,然后通过序列获取主键值(使用的是postgresql中的函数,其他数据库视具体情况而定):
在insert中增加下面两个属性,useGeneratedKeys和keyProperty
useGeneratedKeys="true" keyProperty="id"
如果数据库支持自增主键,这样就可以了。如果不行,需要自己创建序列,然后通过序列获取主键值(使用的是postgresql中的函数,其他数据库视具体情况而定):
一般在使用sqlite的时候都是配置url为绝对路径,但是今天在测试代码的时候想到如果将 项目不到tomcat上之后,db文件总不能一直配置成绝对路径,肯定是项目中的某个位置, 因此对jdbc配置文件进行了修改:
jdbc.url=jdbc:sqlite:blog.db
db文件放在WEB-INF/classes下,运行后发现貌似没有问题,然而事实并不是这样QAQ
因为测试中初始化代码会自动根据bean创建表格,我想是不是生成了一个新的db文件呢, 然后我把初始化关掉之后,果然报错了。。。。。。ORZ,然后我在tomcat的bin目录中 找到了崭新的db文件。
最近的一个项目里面需要使用gradle打一个可执行的jar包,在网上看了一堆帖子照着做最后都不是很成功,最后终于参考StackOverflow上的帖子搞定了可执行jar包的打包脚本,因此做一个笔记对这个进行一下记录。
事件的起因源自一次客户现场的调试,调试到一半,客户说办公系统突然登录不进去了Σ(っ °Д °;)っ,当时因为手头上的事还没有搞定,就顺手把客户的tomcat重启了,然后似乎就一切正常,我也没有太放在心上。然鹅,事情并没有这么简单。
线性表是一个存储相同类型数据元素的有限序列。
这里面需要关注的两个点就是,相同类型的数据、有限序列。
线性表包含两种类型:
下面就是一个简单的顺序表的实现:
我又开了一个新的坑,迫于近期一些方面的压力,我又把数据结构和算法这个东西捡起来了,至于之前Clojure学习笔记系列的坑,咳咳,虽然还会更新下去,但是估计会延后很多了,因为学了Clojure蛮久的时间了,没有太多的实践机会,也没有对Clojure理解的足够深,因此这个系列估计会稍微放一放,等我理解足够深刻了在继续下去(对不起,还是因为懒XD)。
算法,这个东西其实是思路的体现,也可以说是问题的解决方案。相信大家也都看到过这句话:
程序=算法+数据结构
虽然这么说或许不够准确,但是算法对于程序本身而言意义是十分重大的。也是影响程序性能的一个关键因素。大多时候算法都是一个由实际问题转化而成的数学模型,因此,像写出一个好的算法的话首先要能充分理解问题,然后就是将问题转化成一个高效的数学模型。所以说啊,学好数学还是很关键滴~