mybatis入门-第一个程序
今天,我们就一起来完成mybatis的第一个小demo,使用mybatis对我们的数据库进行一个小小的操作。
需求
根据用户id查询用户的信息。
环境搭建
java环境:jdk1.7版本
开发工具:eclipse
mysql:5.1
mybatais的jar包,可以从https://github.com/mybatis/mybatis-3/releases下载,3.2.7版本的。解压完成后是这样的:
log4j的日志包
mysql的驱动包
创建一个工程,导入相应的包,然后在config目录下创建两个文件,一个是log4j.properties文件,另外一个是SqlMapConfig.xml文件目录结构如下:
在 log4j.properties文件中,书写内容如下(网上有的是源码,基本上随便粘一个都可以用)。
在SqlMapConfig.xml文件下,配置mybatis的运行环境,数据源、事务等。
这里的数据源本来应该单独提出来作为一个文件,但是,考虑到部分读者理解起来有难度,就先这样吧。
代码实现
接下来就是代码实现了,首先是创建我们的pojo类,也就是我们的实体类。也有称之为doman的。反正就是一个类名和数据库表名对应,字段名和类名对应的一个类。然后加上get和set方法。
接下来就是我们的映射文件了,在mapper包(mapper包其实就是dao包,现在可以不在这里创建,但是以后自动映射的时候会用到)下创建一个名称为userMapper.xml(目前来说,文件名称随便写)的文件,内容如下。
<mapper namespace="test"> <!-- id:sql语句的唯一标识, 要求在同一个映射文件中id不能重复
parameterType:传入参数类型
resultType:返回结果集类型 #{}占位符: 占位符起到占位的作用, 如果传入参数是简单类型(String, long, integer, double, boolean等)那么#{}中的变量名称可以随意起名
-->
<select id="findUserById" parameterType="java.lang.Integer" resultType="cn.itcast.pojo.User">
SELECT * FROM user where id=#{id}
</select>
</mapper >
映射文件虽然写好了,但是,mybatis框架不知道映射文件的存在,没有办法将映射文件读入系统。这个时候,就需要在我们的SqlMapConfig.xml 文件中加载映射文件了。在sqlmapConfig.xml文件中写入代码如下:其中的sqlmap/user.xml该为我们自己写的映射文件的xml文件路径就可以了。
最后就是便携测试程序了,代码如下:
这就是我们的第一个入门程序了,其他的方法跟查询类似,不过在写插入语句的时候,如果主键是自增的话,那么需要先查询主键id,然后将对象写入数据库中,这时,我们的系统中的对象的主键属性就和数据库中的主键属性一致了。其配置文件代码如下:
mybatis入门-第一个程序的更多相关文章
- MyBatis运行流程及入门第一个程序
1. mybatis是什么? MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并 ...
- 解析Mybatis入门第一天
MyBatis是一个基于Java的持久层框架,内部对JDBC做了封装,使开发者只需要关注SQL语句,而不用关注JDBC的代码,使开发变得更加的简单. MyBatis通过XML或者注解的方式将要执行的各 ...
- mybatis的第一个程序
程序结构图: 表结构: 创表sql: CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varch ...
- 【mybatis源码学习】调试mybatis的第一个程序
[一].基础知识准备 mybatis-config.xml配置文件的结构 MyBatis配置文件中大标签configuration下子标签包括: configuration |--- properti ...
- OPENGL的入门第一个程序——Hello World
#include "stdafx.h" #include<GL\glut.h> void Init() { glClearColor(0.0f,0.0f,0.0f,0. ...
- mybatis入门-mapper代理原理
原始dao层开发 在我们用mybatis开发了第一个小程序后,相信大家对于dao层的开发其实已经有了一个大概的思路了.其他的配置不用变,将原来的test方法,该为dao的方法,将原来的返回值,直接在d ...
- mybatis入门_mybatis基本原理以及入门程序
一.传统jdbc存在的问题 1.创建数据库的连接存在大量的硬编码, 2.执行statement时存在硬编码. 3.频繁的开启和关闭数据库连接,会严重影响数据库的性能,浪费数据库的资源. 4.存在大量的 ...
- Mybatis入门程序
作为一个java的学习者,我相信JDBC是大家最早接触也是入门级别的数据库连接方式,所以我们先来回忆一下JDBC作为一种用于执行SQL语句的Java API是如何工作的.下面的一段代码就是最基本的JD ...
- Java Persistence with MyBatis 3(中文版) 第一章 MyBatis入门
本章将涵盖以下话题: ž MyBatis是什么? ž 为什么选择MyBatis? ž MyBatis安装配置 ž 域模型样例 1.1 MyBatis是什么 MyBatis是一个简化和实现了Ja ...
随机推荐
- UVa11555 - Aspen Avenue
今晚CF GYM A题,神坑.. 原题: Aspen Avenue ``Phew, that was the last one!'' exclaimed the garden helper Tim a ...
- Java Base64、AES、SHA1、MD5加密算法(转载)
package com.example.decript; import java.io.UnsupportedEncodingException; import java.security.Inval ...
- python web开发基本概念
参考了廖雪峰的Python博客. web请求顺序: 浏览器发送一个http请求 服务器收到请求后,生成一个html文档. 服务器将html文档作为http相应的body发送给浏览器 浏览器收到http ...
- tp 框架的增
//增 public function test() { //数据访问 //造模型对象 $nation = D("Nation"); $,'页面跳转中请稍后....'); } pu ...
- MVC 5学习总结笔记1
01.使用MVC自带的DataAnnotations实现数据验证 public class ExternalLoginConfirmationViewModel { [Required] [Displ ...
- Memcached源码分析之memcached.c
memcached.c 由于代码太多,在此省略了部分代码,例如UPD连接,二进制协议,某些错误输出和调试输出等,建议从main函数开始看起. #include "memcached.h&qu ...
- JQueryUI确认框 confirm
$(function(){ $('#AlertMsg').dialog({ autoOpen: false, width: 300, modal: true, position: 'center', ...
- Android控件上添加图片
项目中有一个点赞功能,点赞的小图标添加在点赞列表旁边,在xml里可以进行设置,也可以在代码中进行绘图. 下面是两种方法的设置: 1.xml里:一些控件:button.textView等等里面有个属性是 ...
- 转载 twisted(1)--何为异步
Reference: http://www.cnblogs.com/yueerwanwan0204/p/5589860.html 早就想写一篇文章,整体介绍python的2个异步库,twisted和t ...
- 避免Node.js中回调地狱
为了解决这个阻塞问题,JavaScript严重依赖于回调,这是在长时间运行的进程(IO,定时器等)完成后运行的函数,因此允许代码执行经过长时间运行的任务. downloadFile('example. ...