1 . 定义 java实体类 User,建立user表 读者请自行完成准备工作。
User 类 有 id, name,age 属性
user 表 中 id,name,age字段 id自增长
2. 定义sql映射XML userMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE *** >
<!--
namespace 默认取 userMapper.xml的 全路径 + "." + 文件名去除后缀 即userMapper
-->
<mapper namespace ="com.atguigu.mybatis.userMapper">
<insert id="insertUser" parameterType="com.atguigu.ibatis.bean.User">
insert into users(name,age) values (#{name},#{age});
</insert>
<delete id="delUser" parameterType="int">
delete from users where id =#{id}
</delete>
<update id="updateUser" parameterType="com.atguigu.ibatis.bean.User">
update users set name=#{name}, age=#{age} where id=#{id}
</update>
<select id="selUser" parameterType ="int" resultType="com.atguigu.ibatis.bean.User">
select * from users where id=#{id}
</select>
<select id="getAllUsers" resultType="com.atguigu.ibatis.bean.User">
select * from users
</select>
</mapper>
3.定义数据源连接池 相关配置
注册相关xml文件
<?xm l version = "1.0" encoding ="UTF-8" ?>
<configuration>
<environments default ="development">
<environment id="development">
<transactionManager type="JDBC" />
<datasource type="POOLED" >
<property name="driverClass" value="" />
<property name="jdbcUrl" value="" />
<property name="user" value="" />
<property name="password" value="" />
</datasource>
</environment>
</environments>
</configuration>
//注册相关 mapper xml
<mappers>
<mapper resource = "com/atguigu/mybatis/userMapper.xml" /> //路径名
</mappers>
</xml>
4. 编写测试代码
@Test
public void testAdd(){
SqlSessionFactory factory = MybatisUtils.getFactory();
SqlSession session = factory.openSession(); //默认手动提交事务
String statement = "com.atguigu.mybatis.userMapper.addUser"; //namespace+ "." + id
session.insert(statement,new User(-1,"kk",22));
session.commit(); //提交事务
session.close();
}
@Test
public void testDel(){
SqlSessionFactory factory = MybatisUtils.getFactory();
SqlSession session = factory.openSession(); //默认手动提交事务
String statement = "com.atguigu.mybatis.userMapper.delUser";
session.insert(statement,2);
session.commit(); //提交事务
session.close();
}
@Test
public void testUpdate(){
SqlSessionFactory factory = MybatisUtils.getFactory();
SqlSession session = factory.openSession(true); //设置自动提交
String statement = "com.atguigu.mybatis.userMapper.updateUser;
session.update(statement, new User(4,"kk4",333));
session.close();
}
public void testGetUser(){
SqlSessionFactory factory = MybatisUtils.getFactory();
SqlSession session = factory.openSession();
String statement = "com.atguigu.mybatis.userMapper.selUser";
User user = session.selectOne(statement, 1);
session.close();
System.out.println(user);
}
@Test
public void getAllUsers(){
SqlSessionFactory factory = MybatisUtils.getFactory();
SqlSession session = factory.openSession(true); //设置自动提交
String statement = "com.atguigu.mybatis.userMapper.getAllUsers";
List<User> users = session.selectList(statement);
session.close();
}
- MyBatis学习总结(一)——MyBatis快速入门
一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...
- MyBatis快速入门
一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...
- MyBatis学习总结(一)——MyBatis快速入门(转载)
本文转载自http://www.cnblogs.com/jpf-java/p/6013537.html MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了 ...
- MyBatis入门学习教程-MyBatis快速入门
一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...
- MyBatis学习总结(一)——MyBatis快速入门
一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...
- 【转】MyBatis学习总结(一)——MyBatis快速入门
[转]MyBatis学习总结(一)——MyBatis快速入门 一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC ...
- MyBatis学习总结-MyBatis快速入门的系列教程
MyBatis学习总结-MyBatis快速入门的系列教程 [MyBatis]MyBatis 使用教程 [MyBatis]MyBatis XML配置 [MyBatis]MyBatis XML映射文件 [ ...
- MyBatis学习笔记(一)——MyBatis快速入门
转自孤傲苍狼的博客:http://www.cnblogs.com/xdp-gacl/p/4261895.html 一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优 ...
- Java基础-SSM之mybatis快速入门篇
Java基础-SSM之mybatis快速入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 其实你可能会问什么是SSM,简单的说就是spring mvc + Spring + m ...
- MyBatis学习总结(1)——MyBatis快速入门
一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...
随机推荐
- VS2015+cordova+ionic安装配置
VS2015已经出了正式版,想用来试一下cordova方面的开发.最近在看ionic这个框架,于是想能在VS2015里编辑js就好了. 下面说一下蛋疼的安装配置过程. 一.安装VS2015及Andro ...
- Web API与文件操作
前段时间,一直有练习ASP.NET MVC与Web API交互,接下来,Insus.NET再做一些相关的练习,Web API与文件操作,如POST文件至Web API,更新或是删除等. 不管怎样,先在 ...
- Genesis2000使用c#开发脚本
这是我自学程序以来在博客园的第一篇博客,如有不好的地方请大家指正,谢谢! 这边文章的目的是给予那些在PCB使用Genesis2000程序脚本开发的人员提供.net平台下的开发方法. 目前genesis ...
- 10个调试Java的技巧
调试不仅可以查找到应用程序缺陷所在,还可以解决缺陷.对于Java程序员来说,他们不仅要学会如何在Eclipse里面开发像样的程序,更需要学会如何调试程序.本文介绍了Java程序员必知的10个调试技巧, ...
- php 数组动态添加实现代码(最土团购系统的价格排序)
最近在实现最土团购系统的价格排序功能,需要对$oc数组进行扩展,经过测试用下面的方法即可. 核心代码如下: <?php $now=time(); $oc = array( 'team_type' ...
- 编程模式之模板方法模式(Template Method)
模板方法模式由两个角色组成:父类角色,子类角色. 父类角色:提供模板. 子类角色:为父类模板提供实现. 类图: JAVA代码: AbstractClass.java package com.templ ...
- JDK源码分析:hashCode()方法
提问: 1.hashCode()源码是怎么实现的. 2.hashCode()是为了配合基于散列的集合而设计的 3.hash数据结构,如何做到存取的时间复杂度为O(1)的.{函数算>逐个比较} 答 ...
- PHP中new static()与new self()的比较
今天在coding的时候,发现了 new static(),觉得实例化的地方不是应该是 new self()吗?查询了一下才知道两者的区别: 1)在有子类集成的时候,两者的表现不一样 2)php 5. ...
- javascript中的弹框
大家都见过某度中的恶意广告,你关闭了又出来了!为何,JS来告诉你 效果猛戳此处 HTML <body> <h3 class="whiteColor">无法关 ...
- Json to JObject转换的使用方法
Linq to JSON是用来操作JSON对象的.可以用于快速查询,修改和创建JSON对象.当JSON对象内容比较复杂,而我们仅仅需要其中的一小部分数据时,可以考虑使用Linq to JSON来读取和 ...