java mybatis学习一

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();
}
}
原文地址:https://www.cnblogs.com/zhshlimi/p/6649777.html