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 ...
随机推荐
- OPENCV直方图与匹配
直方图可以用来描述不同的参数和事物,如物体的色彩分布,物体的边缘梯度模版以及目标位置的当前假设的概率分布. 直方图就是对数据进行统计的一种方法,并且将统计值定义到一系列定义好的bin(组距)中,获得一 ...
- 原来在ARC下还有这么多不同?!
1.ARC空声明变量 使用ARC的另一个优势是所有未初始化的变量默认都是"空值化"的.这意味着像下面这样的声明使用ARC编译后指向的是空值(nil): NSObject myObj ...
- Laravel邮件发送问题小解
在Laravel中已经有内置了发送邮件的功能,通过 Mail::send 可发送邮件,但要使用这个函数必须先进行相关配置. 在 /app/config/mail.php 中设置你的邮件参数,如下: 1 ...
- SQL Server 2012 - 数据表的操作
unicode:双字节编码 variable:可变的 character:字符 T-SQL: Transact Structured Query Language unique:唯 ...
- jsoup的介绍使用(转)
jsoup文档: http://www.open-open.com/jsoup/ 原链接: http://www.oschina.net/question/12_14127 jsoup 简介 Java ...
- WCF应用场景
WCF全称Windows Communication Foundation,是Microsoft为构建面向服务的应用提供的分布式通信编程框架,是.NET Framework 3.5的重要组成部分.使用 ...
- UVa 10551 - Basic Remains
题目大意:关于大数的mod和进制转换,直接使用Java的BigInteger类,正在copy式学习中... import java.io.*; import java.util.*; import j ...
- java 类中的属性为什么一般都是私有的
作为一种规范,所有可能被外部访问的可修改变量,都应该有一对对应的getXXX()和setXXX()的存取方法.保证所有对属性值的存取操作,均通过唯一的途径进行. 而我们一般使用private来作这种信 ...
- UVa 10427 - Naughty Sleepy Boys
题目大意:从1开始往后写数字,构成一个如下的字符串 123456789101112... .求第n位的数字是多少. 找规律,按数字的位数可以构建一个类似杨辉三角的东西,求出第n位是哪个数的第几位即可. ...
- Grunt构建工具插件篇——之less工具3和watch配合自动化编译
grunt less转换成css速度慢 而且页面会全部刷新? 最近遇到了个问题,grunt里用less,当修改完.less里面的样式,对应 的.css文件会好几秒才修改,然后浏览器上显示也会耗时好几秒 ...