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. Latex 多个参考文献的引用

    如果在文章中出现连续引用多个参考文献的情况,希望显示的格式为 [1-5,9,12],那么可以如下处理: 在文章的导言区加 \usepackage[square, comma, sort&com ...

  2. win10获取超级管理员权限脚本实现

    建立一个TXT文件,把下面的脚本贴到里面,然后把后缀改成reg格式,双击添加到注册表就可以了, win10_1703版本亲测可用.... Windows Registry Editor Version ...

  3. ann

    转自 http://blog.csdn.net/yiluoyan/article/details/45308785 这篇文章接着之前的车牌识别,从输入的车图片中分割识别出车牌之后,将进行下一步:车牌号 ...

  4. 激光SLAM Vs 视觉SLAM

    博客转载自:https://www.leiphone.com/news/201707/ETupJVkOYdNkuLpz.html 雷锋网(公众号:雷锋网)按:本文作者SLAMTEC(思岚科技公号sla ...

  5. Luogu 3267 [JLOI2016/SHOI2016]侦察守卫

    以后要记得复习鸭 BZOJ 4557 大佬的博客 状态十分好想,设$f_{x, i}$表示以覆盖完$x$为根的子树后还能向上覆盖$i$层的最小代价,$g_{x, i}$表示以$x$为根的子树下深度为$ ...

  6. 属性文件读写测试 PropertiesFileTest

    属性文件对于程序的拓展提供了很大的方便,但是什么该怎么去读写,怎么样读写才会最优呢?这里我做了一个简单的测试, 一般而言主要的有三种配置文件,*.ini,*.properties,*.xml,如果有兴 ...

  7. delphi xe6 让 ListView 在 Android 可回弹[根据龟山阿卍原创修改为xe6版本]

    Delphi XE6 找出 FMX.Platform.Android.pas 档案,并复制到自己的 Project 路径里,找到 GetScrollingBehaviour 函数,修改成如下: uni ...

  8. Java50道经典习题-程序42 求数字

    题目:809*??=800*??+9*??+1其中??代表两位数,若有这样得数,求??代表的两位数 public class Prog42{ public static void main(Strin ...

  9. 文本PDG文件名构成

    作者:马健邮箱:stronghorse_mj@hotmail.com发布:2008.08.03 文本PDG的构成规则为:<前缀><起始页号>_<页数>.pdg 前缀 ...

  10. C#去边框以及无边框窗体移动

    1.去边框  : 1) 选中要去除边框的窗体,按F4调出窗体属性. 2)在属性框中找到FormBorderStyle选择none. 2.去掉边框后实现对窗口程序的拖动 1)双击窗体,进入程序设计界面 ...