Mybatis学习随笔
Posted 代码森林
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis学习随笔相关的知识,希望对你有一定的参考价值。
学习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学习随笔的主要内容,如果未能解决你的问题,请参考以下文章