1.引入maven包 和 导入 sqljdbc包

<dependency>
<groupId>org.apache.ibatis</groupId>
<artifactId>ibatis-sqlmap</artifactId>
<version>3.0-beta-10</version>
</dependency>

sqljdbc官方地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=11774

下载地址: https://download.microsoft.com/download/A/F/B/AFB381FF-7037-46CE-AF9B-6B1875EA81D7/chs/sqljdbc_6.0.8112.100_chs.tar.gz

下载后解压后找到相应的文件 sqljdbc42.jar

然后在 File->Project Structure->Project Settings->Modules ->Dependencies

点击添加按钮 找到相应的 sqljdbc42.jar 包即可

2.在资源文件夹下,建立 jdbc.property 和 mybatis-config.xml

driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
url=jdbc\:sqlserver\://192.168.1.10\:1433;DatabaseName=test
user=sa
password=devdevdev
<?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="jdbc.properties"/>
<environments default="development">
<environment id="development">
<!-- 事务管理器 -->
<transactionManager type="JDBC" />
<!-- 配置数据源 -->
<dataSource type="POOLED">
<property name="driver" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${user}" />
<property name="password" value="${password}" />
</dataSource>
</environment>
</environments>
<!-- 配置映射资源文件 -->
<mappers>
<mapper resource="Users.xml"/>
</mappers>
</configuration>

3.建立Users类

public class Users  {
//id
private int id;
//用户名
private String userName;
//密码
private String password; public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
} public Users() {
}
public Users(String name,String pwd) {
this(0,name,pwd);
}
public Users(int id,String name,String pwd) {
setId(id);
setUserName(name);
setPassword(pwd);
}
}

4.在资源文件夹下建立users.xml文件(暂时省略DAO层)

<?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.cnblog.g2.Users">
<!-- 查询全部用户 -->
<select id="queryUsers" resultType="com.cnblog.g2.Users">
select *
from tb_users
</select>
<!-- 按照ID查询 -->
<select id="queryUsersId" parameterType="int" resultType="com.cnblog.g2.Users">
select * from tb_users where id=#{id}
</select>
<!-- 添加用户 -->
<insert id="insertUsers" parameterType="com.cnblog.g2.Users" >
insert into tb_users(username,password)
values(#{userName},#{password})
<selectKey keyProperty="id" resultType="int" order="AFTER">
select @@identity
</selectKey>
</insert>

 <!-- 修改用户 --> 

<update id="updateUsers" parameterType="com.cnblog.g2.Users"> 

update tb_users set password=#{password} where id=#{id} 

</update>

 <!-- 删除用户 --> 

<delete id="deleteUsers" parameterType="com.cnblog.g2.Users">

 delete tb_users where id=#{id} 

</delete> 

</mapper>

5.实现 SQL Mapper对象


import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.Reader;

import java.io.IOException;

public class SqlMapper {
//创建SqlSessionFactory对象
private static SqlSessionFactory factory;
static{
try {
//获取配置文件资源
Reader resourceAsReader = Resources.getResourceAsReader("mybatis-config.xml");
//获取SqlSessionFactory对象
factory=new SqlSessionFactoryBuilder().build(resourceAsReader);
} catch (IOException e) {
e.printStackTrace();
}
} /**
* 获取SqlSession对象
*/
public static SqlSession getSqlSession(){
return factory.openSession();
} /**
* 关闭SqlSession对象
*/
public static void closeSqlSession(SqlSession session){
if(null!=session){
//关闭Sqlsession对象
session.close();
}
session=null;
}
}

6. 调用

public class App
{
public static void main( String[] args )
{
SqlSession session = SqlMapper.getSqlSession();
List<Users> list = session.selectList("com.cnblog.g2.Users.queryUsers");
Users grace = new Users("Grace", "234");
int insertedRowCount = session.insert("com.cnblog.g2.Users.insertUsers", grace);
//在这里新插入的Id被自动赋值到 grace对象里的Id里了(setId()方法)
session.commit();
}
}

java mybatis学习一的更多相关文章

  1. java mybatis学习二

    <select id="find1" parameterType="java.util.HashMap" resultType="com.xxx ...

  2. Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问

    本篇内容还是建立在上一篇Java Web学习系列——Maven Web项目中集成使用Spring基础之上,对之前的Maven Web项目进行升级改造,实现对MySQL的数据访问. 添加依赖Jar包 这 ...

  3. Java开发学习心得(二):Mybatis和Url路由

    目录 Java开发学习心得(二):Mybatis和Url路由 1.3 Mybatis 2 URL路由 2.1 @RequestMapping 2.2 @PathVariable 2.3 不同的请求类型 ...

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

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

  5. Java Web 学习路线

    实际上,如果时间安排合理的话,大概需要六个月左右,有些基础好,自学能力强的朋友,甚至在四个月左右就开始找工作了.大三的时候,我萌生了放弃本专业的念头,断断续续学 Java Web 累计一年半左右,总算 ...

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

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

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

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

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

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

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

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

随机推荐

  1. eclipse中。安装findbugs java检测工具

    问题提出: 当我们编写完代码,做完单元测试等各种测试后就提交正式运行,只能由运行的系统来检测我们代码是否有问题了,代码中隐藏的错误在系统运行的过程中被发现后,然后再来进行相应的修改,那么后期修改的代价 ...

  2. tortoisesvn 本项目的忽略项

    https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-propertypage.html Adding and Editing Pr ...

  3. jQuery-图片的放大镜显示效果(不需要大小图) ,放大镜图层显示在图片左右侧,不适用table

    放大镜图层显示在图片的一侧,但当图片嵌套到table里,放大镜图层位置就有误,此方法只适用于没有table 错误原因: 原来的写法是图片相对于Td 的位置,而不是图片的真实位置,所以两张图片的坐标是一 ...

  4. mock SpringMVC 测试控制器方法

    从Spring3.2开始 Spring包含了一种mockSpringMVC并针对controller执行http请求的机制 如(该代码选自spring实战4): public void shouldS ...

  5. 使用foreach获取数据列表的全部信息

    先把代码列出来:(在admin/listAdmin.php中) <?php foreach($rows as $row):?> //注意,这里的foreach($rows as $row) ...

  6. C++面试笔记--循环链表,队列,栈,堆

    之前已经学会了单链表的建立删除插入转置以及一些普通操作,双链表和单链表差不多,就是多了一个前驱指针,在许多操作中很方便,但是加了一个指针开销应该会大一些,总体上影响不大,这里开始讨论循环链表以及其他的 ...

  7. Struts2 引入

    引入:   说:如果一个路径想访问一个类,需求怎么做? 第一种方法,用servlet 第二种方法,用过滤器 第三种方法如下图:把路径和方法都存到map里面,用反射可以执行类下的方法     第三中方法 ...

  8. Java50道经典习题-程序50 文件IO

    题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,将原有的数据和计算出的平均分数存放在磁盘文件"stud"中. impo ...

  9. (转)深入研究 蒋金楠(Artech)老师的 MiniMvc(迷你 MVC),看看 MVC 内部到底是如何运行的

    前言 跟我一起顺藤摸瓜剖析 Artech 老师的 MiniMVC 是如何运行的,了解它,我们就大体了解 ASP.NET MVC 是如何运行的了.既然是“顺藤摸瓜”,那我们就按照 ASP.NET 的执行 ...

  10. docker常用命令行集锦

    对工作中用到的docker命令行进行一个汇总,方便以后的命令行查询,同时也为了加强记忆,会把工作中用到的命令,持续更新上 1.查看私有仓库都有哪些镜像 curl -X GET http://10.27 ...