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 ...
随机推荐
- sublime text 配置文件中文说明
原文地址:http://www.feelcss.com/sublime-text-2-settings.html // While you can edit this file, it's best ...
- java调用C/C++写的dll(转)
源:java调用C/C++写的dll Java语言本身具有跨平台性,如果通过Java调用DLL的技术方便易用,使用Java开发前台界面可以更快速,也能带来跨平台性. Java调用C/C++写好的DLL ...
- iOS 之 手势
手势操作,有一个总的抽象类UIGestureRecognizer,用于检测设备的所有手势.其下有多个子类: 拍击UITapGestureRecognizer (任意次数的拍击) 向里或向外捏UIPin ...
- iOS 之 系统机制
iOS 沙盒 iOS 8 之 新特性 iOS 操作系统整体架构层次讲解
- Ajax Not Found,asp.net mvc 中
x前台代码: <script type="text/javascript"> $(document).ready(function () { $("#btnS ...
- Java经典案例之-“统计英文字母、空格、数字和其它字符的个数”
/** * 描述:输入一行字符串,并且统计出其中英文字母.空格.数字和其它字符的个数. * 分析:利用for语句,条件为输入的字符不为 '\n ' * 作者:徐守威 */ package com.xu ...
- MySQL只恢复某个库或某张表
在Mysqldump官方工具中,如何只恢复某个库呢? 全库备份 [root@HE1 ~]#mysqldump -uroot -p --single-transaction -A --master-da ...
- ORACLE获取字符串中数字部分
') from dual; select regexp_replace('23456中国3-00=.,45','[^0-9]') from dual;标签:regexp_replace regexp ...
- C# backgroundworker使用方法
# BackgroundWorker 控件的几个实例(C# backgroundworker使用方法): 在 WinForms 中,有时要执行耗时的操作,在该操作未完成之前操作用户界面,会导致用户界面 ...
- DNS没有生效的几个原因
1.记录没有正确添加 请确认你的域名记录是否完全正确的添加.线路类型正确,记录类型正确 2.域名还没有生效 这个情况还会有另外一个现象,就是域名有时候可以ping,有时候不能ping. 这是因为你当地 ...