学习Mybatis路径(适合有java基础和mysql基础的小伙伴)

  1.把项目搭建起来,跑一跑感受一下

  2.测试基本映射

  3.测试高级映射

  4.测试动态sql

  5.学习懒加载与缓存

  6.与spring整合

一、项目搭建

  项目主要以学习测试为主,步骤如下:

  1.新建一个Java工程,起名mybatis。

  2.在项目目录下新建一个文件夹lib,存放jar包,将jar包拷到lib下,右击 build path -> add to build path。jar包下载

  3.新建一个sourceforder,起名config,里面放两个配置文件。完成后项目目录如图:

  4.数据库,像我一样的小白最好用可视化工具,操作方便。在数据库中建个数据库起名ssm,然后建个表起名user。完全可以不用这么多字段。如图:

  5.编写配置文件。在sourceforder 下新建一个mybatis.xml,这是mybatis的全局配置文件。代码如下:

  

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/ssm" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments> <mappers>
<mapper resource="mappers/UserMapper.xml"/>
</mappers>
</configuration>

  这里的用户名和密码要改成自己的。然后新建一个package,起名mappers,存放数据库与实体的映射。然后在mappers里新建一个xml文件起名UserMapper,UserMapper.xml代码如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhx.mapper.UserMapper">
<insert id="addUser" parameterType="com.zhx.pojo.User">
INSERT INTO user(account,name,pwd,sex,birthday)
VALUES(#{account},#{name},#{pwd},#{sex},#{birthday})
</insert>
</mapper>

  在UserMapper里 写了一条insert语句,向数据库插入一条数据,注意:namespace命名空间指向自己编写的接口(注意路径),我现在还没有写:),parameterType是传入的参数,指向了实体类,表名传入一个user对象。<insert>包裹的是一条sql语句,注意的是values 中#{此处是变量名,与user中变量名称保持一致}。

  6.编写java代码

  新建package com.zhx.mapper,新建接口interface,UserMapper。UserMapper代码如下:

package com.zhx.mapper;
import com.zhx.pojo.User; public interface UserMapper {
public int addUser(User user);
}

  新建package com.zhx.pojo,新建类,User。User代码如下:

  

package com.zhx.pojo;

public class User {

    private int id;
private String account;
private String name;
private String pwd;
private String sex;
private String birthday;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public User() {
super();
}
public User( String account,String name, String pwd, String sex, String birthday) {
super();
this.account = account;
this.name = name;
this.pwd = pwd;
this.sex = sex;
this.birthday = birthday;
} }

  7.编写测试类

  前面准备工作完成了,下面就是测试了,加载配置文件,然后从spring容器中拿到bean,然后执行方法addUser(User user); 在Navicat中刷新查看结果,test代码如下:

public class Test2 {
public static void main(String[] args) {
ApplicationContext ctx
=new ClassPathXmlApplicationContext("ApplicationContext.xml");
UserMapper um= ctx.getBean(UserMapper.class);
int i = um.addUser(new User("a", "a", "a", "a", "a"));
System.out.println(i);
}
}

 8.报错

  在初次运行过程中报一些看不懂的错误,因为对它不熟悉,这是很正常的,仔细分析一下提示信息,贴到网上找找解决方法,或者给我留言,都是OK的。祝大家成功~

  

Mybatis学习随笔的更多相关文章

  1. MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作(转载)

    本文转载自:http://www.cnblogs.com/jpf-java/p/6013540.html 上一篇博文MyBatis学习总结(一)--MyBatis快速入门中我们讲了如何使用Mybati ...

  2. MyBatis学习总结(八)——Mybatis3.x与Spring4.x整合(转载)

      孤傲苍狼 只为成功找方法,不为失败找借口! MyBatis学习总结(八)--Mybatis3.x与Spring4.x整合 一.搭建开发环境 1.1.使用Maven创建Web项目 执行如下命令: m ...

  3. MyBatis学习总结(七)——Mybatis缓存(转载)

      孤傲苍狼 只为成功找方法,不为失败找借口! MyBatis学习总结(七)--Mybatis缓存 一.MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的 ...

  4. (原创)mybatis学习二,spring和mybatis的融合

    mybatis学习一夯实基础 上文介绍了mybatis的相关知识,这一节主要来介绍mybaits和spring的融合 一,环境搭建 1,jar包下载,下载路径为jar包 2,将包导入到java工程中 ...

  5. (原创)mybatis学习一,夯实基础

    一,what?(是什么) MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可 ...

  6. MyBatis学习--简单的增删改查

    jdbc程序 在学习MyBatis的时候先简单了解下JDBC编程的方式,我们以一个简单的查询为例,使用JDBC编程,如下: Public static void main(String[] args) ...

  7. MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作

    上一篇博文MyBatis学习总结(一)——MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对u ...

  8. 【Todo】Mybatis学习-偏理论

    之前写过好几篇Mybatis相关的文章: http://www.cnblogs.com/charlesblc/p/5906431.html  <SSM(SpringMVC+Spring+Myba ...

  9. MyBatis学习系列三——结合Spring

    目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring MyBatis在项目中应用一般都要结合Spring,这一章主要把MyBat ...

随机推荐

  1. centos6 编译安装nodejs4.3

    官网下载源码包 https://nodejs.org/en/download/ source code #下载 wget https://nodejs.org/dist/v4.3.2/node-v4. ...

  2. 使用canvas实现画中画效果的H5

    最近看到一个挺有趣的H5,主要效果就是通过不断的放缩来展示画中画,网上找了一下并没有这方面的实现代码,故决定原创一下,并分享出来 主要的思路就是通过canvas不断的写入图片,考虑到每一层的图片的位置 ...

  3. js常见报错解决方法

    1.获得类名document.getElementsClassName(常出现一个问题): getClassName("gn","pt")[0].appendC ...

  4. JavaScript的深拷贝和浅拷贝

    一.数据类型 数据分为基本数据类型(String, Number, Boolean, Null, Undefined,Symbol)和对象数据类型.. 1.基本数据类型的特点:直接存储在栈(stack ...

  5. Go语言介绍

    Go语言简介 Go语言是谷歌2009发布的第二款开源编程语言. Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全.支持并行进程. Go ...

  6. js计算数值

    1.丢弃小数部分,保留整数部分 parseInt(5/2) 2.向上取整,有小数就整数部分加1 Math.ceil(5/2) 3,四舍五入. Math.round(5/2) 4,向下取整 Math.f ...

  7. inline-block BUG问题

    使用inline-block会使父元素高度不正常,要慎用!!!可以给父元素添加font-size:0解决,或者使用用float或者flex布局.

  8. element-ui 使用span-method表格合并后hover样式的处理

    在使用element表格合并后,发现鼠标只有移入第一个合并行时,合并的部分会高亮,移入其他行,不会高亮,这样效果看起来不是很好.查看了文档也没有直接的解决方法,就通过现有的方法处理了一下,解决了hov ...

  9. maxscript批量设置摄像机并保存渲染图

    代码可直接运行 fn renderr = ( a=box() --新建一个立方体 ambientcolor = (color ) --设置环境光(搞不太懂,白的不出错就行) to do ( dis = ...

  10. js获取字符串字节的位数

    ifSubUser.getBlength = function(str){ ;i--;){ n += str.charCodeAt(i) > ? : ; } return n; }