一、创建测试项目工程

二、导包(一个myBatis所需的包,以及一个数据库操作的包)

三、创建实体类

四、配置文件的建立(最佳命名为(SqlMapConfig.xml))

<?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>
<properties resource="datasource.properties"></properties>
<typeAliases>
<typeAlias type="com.lovo.pojo.User" alias="User"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/lovo/mapper/UserMapper.xml"/>
</mappers> </configuration>

用以上方式配置需要先创立配置文件(datasource.properties)

配置文件代码如下:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/myBatis?useUnicode=true&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=123

然后创建一个获得连接对象的类,我习惯命名为DbUtil放在util包中,代码如下:

public class DbUtil {
private static SqlSessionFactory sessionFactory = null; private DbUtil() {
InputStream in = null;
try {
in = Resources.getResourceAsStream("SqlMapConfig.xml");
sessionFactory = new SqlSessionFactoryBuilder().build(in);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } public static SqlSession getSession() {
if (sessionFactory == null) {
new DbUtil();
}
return sessionFactory.openSession(); }

然后再对实体pojo配置一个XML文件和一个接口:

XML最好与接口同名,以便自己好辨识

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" >
<!--namespace与mapper接口相对应 -->
<mapper namespace="com.lovo.mapper.UserMapper">
<resultMap type="User" id="UserMap">
<id property="id" column="id" javaType="int"/>
<result property="userName" column="username" javaType="java.lang.String"/>
<result property="userPwd" column="pwd" javaType="java.lang.String"/>
<result property="state" column="state" javaType="int"/>
</resultMap> <insert id="addUser" parameterType="User">
insert into user values(null,#{User.userName},#{User.userPwd},#{User.state}) </insert>
<delete id="delUserById" parameterType="int">
delete from user where id=#{id}
</delete>
<select id="findUserById" parameterType="int" resultMap="UserMap">
select * from user where id=#{id}
</select>
<update id="updateUser" parameterType="User">
update user set username=#{User.userName},pwd=#{User.userPwd},state=#{User.state} where id=#{User.id}
</update> <select id="FindAllUser" resultMap="UserMap">
select * from user
</select> <select id="findUserCount" resultType="int">
select count(*) from user </select>
<select id="FindUserByState" resultMap="UserMap">
select * from user where state=#{state} </select>
<select id="sumOfState" resultType="int">
select sum(state) from user
</select> </mapper>

接口如下:

public interface UserMapper {
public int addUser(@Param("User") User user);
public int delUserById(@Param("id") int id);
public int updateUser(@Param("User") User user);
public User findUserById(@Param("id") int id);
public List<User> FindAllUser();
public int findUserCount();
public List<User> FindUserByState(@Param("state") int state);
public int sumOfState();
}

这里的@param("User")为别名,除参数只有单个,且为基本数据类型外,都需要给于别名。

最后在建立service层

如:

public class UserServiceImpl implements UserService {
SqlSession sqlSession=DbUtil.getSession();
UserMapper mapper=sqlSession.getMapper(UserMapper.class);
@Override
public int addUser(User user) {
// TODO Auto-generated method stub
int num=0;
num=mapper.addUser(user);
sqlSession.commit();
return num;
}

MyBatis总结(一)的更多相关文章

  1. 【分享】标准springMVC+mybatis项目maven搭建最精简教程

    文章由来:公司有个实习同学需要做毕业设计,不会搭建环境,我就代劳了,顺便分享给刚入门的小伙伴,我是自学的JAVA,所以我懂的.... (大图直接观看显示很模糊,请在图片上点击右键然后在新窗口打开看) ...

  2. Java MyBatis 插入数据库返回主键

    最近在搞一个电商系统中由于业务需求,需要在插入一条产品信息后返回产品Id,刚开始遇到一些坑,这里做下笔记,以防今后忘记. 类似下面这段代码一样获取插入后的主键 User user = new User ...

  3. [原创]mybatis中整合ehcache缓存框架的使用

    mybatis整合ehcache缓存框架的使用 mybaits的二级缓存是mapper范围级别,除了在SqlMapConfig.xml设置二级缓存的总开关,还要在具体的mapper.xml中开启二级缓 ...

  4. 【SSM框架】Spring + Springmvc + Mybatis 基本框架搭建集成教程

    本文将讲解SSM框架的基本搭建集成,并有一个简单demo案例 说明:1.本文暂未使用maven集成,jar包需要手动导入. 2.本文为基础教程,大神切勿见笑. 3.如果对您学习有帮助,欢迎各种转载,注 ...

  5. mybatis plugins实现项目【全局】读写分离

    在之前的文章中讲述过数据库主从同步和通过注解来为部分方法切换数据源实现读写分离 注解实现读写分离: http://www.cnblogs.com/xiaochangwei/p/4961807.html ...

  6. MyBatis基础入门--知识点总结

    对原生态jdbc程序的问题总结 下面是一个传统的jdbc连接oracle数据库的标准代码: public static void main(String[] args) throws Exceptio ...

  7. Mybatis XML配置

    Mybatis常用带有禁用缓存的XML配置 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE ...

  8. MyBatis源码分析(一)开篇

    源码学习的好处不用多说,Mybatis源码量少.逻辑简单,将写个系列文章来学习. SqlSession Mybatis的使用入口位于org.apache.ibatis.session包中的SqlSes ...

  9. (整理)MyBatis入门教程(一)

    本文转载: http://www.cnblogs.com/hellokitty1/p/5216025.html#3591383 本人文笔不行,根据上面博客内容引导,自己整理了一些东西 首先给大家推荐几 ...

  10. MyBatis6:MyBatis集成Spring事物管理(下篇)

    前言 前一篇文章<MyBatis5:MyBatis集成Spring事物管理(上篇)>复习了MyBatis的基本使用以及使用Spring管理MyBatis的事物的做法,本文的目的是在这个的基 ...

随机推荐

  1. 08-FPGA状态机设计实例——小梅哥FPGA设计思想与验证方法视频教程配套文档

    芯航线--普利斯队长精心奉献   实验目的:1.学习状态机的相关概念 2.理解一段式.两段式以及三段式状态机的区别以及优缺点 实验平台:芯航线FPGA核心板 实验原理: 状态机全称是有限状态机(fin ...

  2. httpclient模拟post请求json封装表单数据

    好长时间不更博了,主要肚子里没什么好墨水,哈哈.废话不说上代码. public static String httpPostWithJSON(String url) throws Exception ...

  3. Live2d-cocos2dx教程(一)例子搭建及运行

    前言 这篇文章不讲代码,介绍live2d-cocos2dx-sdk 的下载.配置运行官网例子以及遇到的问题解决方案.第一次接触这个,有错的地方,希望大神指正.目前cocos2dx-live2d资料很少 ...

  4. this关键字简单应用

    class PersonDemo3 { public static void main(String[] args) { Person p=new Person("张三",22); ...

  5. 个人作业-Week2 案例分析

    微软必应词典客户端的案例分析 第一部分 调研,评测 1)bug: 运行平台:iOS 10.0.2 必应词典版本:4.2.2 1. bug标题:词库加载错误 bug详细描述:学习界面中的经典词库出国考试 ...

  6. angular源码阅读的起点,setupModuleLoader方法

    angular源码其实结构非常清晰,划分的有条有理的,大概就是这样子: (function(window,document,jquery,undefined){ //一些工具函数 //EXPR 编译器 ...

  7. nodejs httpserver

    用nodejs服务器去拿取后台的数据.(我刚开始学的nodejs的时候是一个蒙圈的宝宝 t.t,开始接触的时候,在本地搭建去拿数据.之前菜鸟的我都不知道路由是神马[囧囧]). --> index ...

  8. LINUX下查看日志

    LINUX的日志都在 /var/log 目录下:    进入此文件查看目录详情: 查看某个日志的命令: 1.cat messages可以查看某个日志文件. 2.要达到实时更新,可以通过tail命令查看 ...

  9. 自己动手写Logistic回归算法

    假设一个数据集有n个样本,每个样本有m个特征,样本标签y为{0, 1}. 数据集可表示为: 其中,x(ij)为第i个样本的第j个特征值,y(i)为第i个样本的标签. X矩阵左侧的1相当于回归方程的常数 ...

  10. Canvas的API整理

    canvas元素 可被用来通过脚本(通常是JavaScript)绘制图形.比如,它可以被用来绘制图形,制作图片集合,甚至用来实现动画效果.你可以(也应该)在元素标签内写入可提供替代的的代码内容,这些内 ...