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. executeUpdate,executeQuery,executeBatch 的区别

    executeQuery : 用于实现单个结果集,例如: Select 一般使用executeQuery 就是来实现单个结果集的工具 executeUpdate 用于执行 INSERT.UPDATE ...

  2. VC++ 6.0 快捷键

    多行注释的快捷键    详细步骤 工具栏上右键-〉Customize-〉“Add-ins and Macro Files”tab页,把SAMPLE前面打上钩-〉“Commands”tab页,Categ ...

  3. 提示crontab command not found的解决方法

    操作步骤   1. 确认crontab是否安装:   执行 crontab 命令如果报 command not found,就表明没有安装   2. 安装 crontab   执行 yum insta ...

  4. day17 9.关闭资源与异常处理

    Java程序跟任何外部设备进行连接之后,都要把连接断开,把资源释放掉.Connection是一个重量级资源,Connecton占内存,Connection的获取是比较消耗资源和内存的.finally是 ...

  5. 学习CSS的思路(转)

    两周之前写过该系列的第一篇,其实当时只是一个想法,这段时间迟迟未更新,是在思考一个解决过程.现在初有成效,就开更吧. 1. 一个段子 开题不必太严肃,写博客也不像写书,像聊天似的写东西是最好的表达方式 ...

  6. JS的Prototype属性

    转载至: http://blog.sina.com.cn/s/blog_7045cb9e0100rtoh.html 函数:原型 每一个构造函数都有一个属性叫做原型(prototype,下面都不再翻译, ...

  7. (转)typedef和#define的用法与区别

    typedef和#define的用法与区别 一.typedef的用法 在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像: ...

  8. PCL—关键点检测(Harris)低层次点云处理

    博客转载自:http://www.cnblogs.com/ironstark/p/5064848.html 除去NARF这种和特征检测联系比较紧密的方法外,一般来说特征检测都会对曲率变化比较剧烈的点更 ...

  9. spoj1716 Can you answer these queries III

    传送门 (分析见正睿2018.10.1笔记) 代码 #include<iostream> #include<cstdio> #include<cstring> #i ...

  10. win10和ubuntu双系统下卸载ubuntu

    1.进入win10 2.下载EasyBCD,360软件管家里面有,version=2.2 3.启动软件,工具箱里面选择“BCD部署”→MBR配置选项中选“在MBR中安装Windows Vista/7的 ...