Mybatis从0开始的例子

来源:互联网 发布:淘宝网lol账号 编辑:程序博客网 时间:2024/05/16 06:53

背景:从0开始,如果有了1,那么就有了入门的质变,没有了万事开头时的那种难受

来到这家公司已整整半年,作为初学者刚进公司时面对springmvc+mybatis这样自己很陌生的技术,是有点紧张的,担心工作不能顺利展开进行,幸好同事都很和气,我慢慢的在插科打诨中会搬会用了。但这终究不是正途,总会遇见配置问题或者细节上的问题,问同事也不能及时响应,耽误了自己工作不说,养成了蜻蜓点水,不求甚解的坏习惯。今天镇定思痛,将mybatis从0开始自己搭建使用,发现平时不得要领的细节,在其官方文档上都有详细赘述,就这样粗略扫完mybatis的官方文档,终于得到了一些浅浅的踏实与充实感。

步骤:具体源码传送门

1. 找到mybatis官方文档 (这是最科学有效的,但也最被忽视的)
2. 需要mybatis本身jar包和mysql驱动包
3. 书写mybatis配置文件(名字自取),读取配置文件生成SqlSessionFactory,创建SqlSession,操作数据库

注意:

1. 这里不再列出详细步骤,因为无论是官方文档亦或是博客文章,都表述得很好。
2. 工作中常用到的是,在mybatis配置文件中,可以设置mapUnderscoreToCamelCase(是否开启自动驼峰命名规则映射);multipleResultSetsEnabled 是否允许单一语句返回多结果集(需要兼容驱动);autoMappingBehavior 指定 MyBatis 应如何自动映射列到字段或属性等。
3.如果插入一个对象(更新)一个对象数据,如何获取其插入(更新)后的一些字段的值(比如id): useGeneratedKeys (仅对 insert 和 update 有用)这会令 MyBatis 使用 JDBC 的 getGeneratedKeys 方法来取出由数据库内部生成的主键(比如:像 MySQL 和 SQL Server 这样的关系数据库管理系统的自动递增字段),默认值:false。 keyProperty (仅对 insert 和 update 有用)唯一标记一个属性,MyBatis 会通过 getGeneratedKeys 的返回值或者通过 insert 语句的 selectKey 子元素设置它的键值,默认:unset。如果希望得到多个生成的列,也可以是逗号分隔的属性名称列表。
<insert id="insertAuthor" useGeneratedKeys="true"    keyProperty="id">  insert into Author (username,password,email,bio)  values (#{username},#{password},#{email},#{bio})</insert>
4.resultMap 元素是 MyBatis 中最重要最强大的元素.
<resultMap id="userResultMap" type="User">  <id property="id" column="user_id" />  <result property="username" column="user_name"/>  <result property="password" column="hashed_password"/></resultMap>

总结:对mybatis,从一开始陌生,到过程中接触的惧怕,到最后的明白了然,这一个过程完全可以很短,但却是让我拖了半年之久。有时走的太远,就真的忘记当时的起点在哪里,最初的自我是什么了。另外自己工作中对spring的AOP的理解还是不清不楚,还有spring-security,memcached和事务管理的配置也不甚明白,以后定会陆续展开从0开始的例子。具体源码传送门

0 0
原创粉丝点击