MyBatis基本运行环境


1. 创建项目

2.拷贝jar加入到项目中build path jar包

3.创建数据库的表及数据添加

USE [mybatis]
CREATE TABLE [dbo].[Material](
    ,) NOT NULL,
    ) NULL,
    [price] [int] NULL
)

4.创建实体类

package com.ahabest.bean;
public class Material {
    //成员变量
    private Integer id;
    private String name;
    private Integer price;
    //
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getPrice() {
        return price;
    }
    public void setPrice(Integer price) {
        this.price = price;
    }
    @Override
    public String toString() {
        return "Material [id=" + id + ", name=" + name + ", price=" + price + "]";
    }
    public Material() {
        super();
    }
    public Material(Integer id, String name, Integer price) {
        super();
        this.id = id;
        this.name = name;
        this.price = price;
    }
}

5.创建接口及映射

package com.ahabest.dao;
import java.util.List;
import com.ahabest.bean.Material;
public interface MaterialDao {
    List<Material> getAll();
}
<?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="test">
    <!-- id是找到SQL语句的唯一标识 -->
    <!-- parameter表示传入的参数类型 -->
    <!-- resultType返回值的类型 -->
    <select id="getAll" resultType="com.ahabest.bean.Material">
        SELECT * FROM Material
    </select>
    <select id="getById" parameterType="java.lang.Integer" resultType="com.ahabest.bean.Material">
        SELECT * FROM Material WHERE id = #{id}
    </select>
</mapper>

6.创建数据库配置及映射

jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.url=jdbc:sqlserver://localhost:1433;DatabaseName=mybatis
jdbc.username=sa
jdbc.password=
<?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"></properties>
    <!-- mybatis的数据库环境 -->
    <environments default="Enviroment">
        <environment id="Enviroment">
            <!-- 事务管理 -->
            <transactionManager type="JDBC"></transactionManager>
            <!-- 数据源 -->
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <mapper resource="com/ahabest/dao/MaterialMapper.xml"/>
    </mappers>

</configuration>

7.读取数据库配置

package com.ahabest.dao.impl;
import java.io.InputStream;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import com.ahabest.bean.Material;
import com.ahabest.dao.MaterialDao;
public class MaterialDaoImpl implements MaterialDao {
    @Override
    public List<Material> getAll() {
        // 读取配置文件
        InputStream is = MaterialDaoImpl.class.getClassLoader().getResourceAsStream("mybatis-config.xml");
        //创建会话工厂
        SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(is);
        //开启会话
        SqlSession ss =ssf.openSession();
        //调用方法
        List<Material> lm = ss.selectList("test.getAll");
        Material m = ss.selectOne("test.getById",1);
        System.out.println(m);
        return lm;
    }
}

8.程序测试

package com.ahabest.test;
import java.util.List;
import com.ahabest.bean.Material;
import com.ahabest.dao.MaterialDao;
import com.ahabest.dao.impl.MaterialDaoImpl;
public class MaterialDaoTest {
    public static void main(String[] args) {
        MaterialDao md = new MaterialDaoImpl();
        List<Material> lm = md.getAll();
        for(Material m:lm) {
            System.out.println(m);
        }
    }
}

MyBatis基本运行环境的更多相关文章

  1. MyBatis配置文件(七)--environments运行环境

    一.environments配置信息: environments的作用是用来配置数据库信息,可以配置多个,其有两个可配的子元素,分别是:事务管理器transactionManager和数据源dataS ...

  2. MyBatis在Spring环境下的事务管理

    MyBatis的设计思想很简单,可以看做是对JDBC的一次封装,并提供强大的动态SQL映射功能.但是由于它本身也有一些缓存.事务管理等功能,所以实际使用中还是会碰到一些问题--另外,最近接触了JFin ...

  3. 七年开发小结MyBatis 在 Spring 环境下的事务管理

    MyBatis的设计思想很简单,可以看做是对JDBC的一次封装,并提供强大的动态SQL映射功能.但是由于它本身也有一些缓存.事务管理等功能,所以实际使用中还是会碰到一些问题——另外,最近接触了JFin ...

  4. mybatis3.0-[topic10-14] -全局配置文件_plugins插件简介/ typeHandlers_类型处理器简介 /enviroments_运行环境 /多数据库支持/mappers_sql映射注册

    mybatis3.0-全局配置文件_   下面为中文官网解释 全局配置文件的标签需要按如下定义的顺序: <!ELEMENT configuration (properties?, setting ...

  5. Mybatis系列全解(二):Mybatis简介与环境搭建

    封面:洛小汐 作者:潘潘 Mybatis 是一套持久层框架,灵活易用,特别流行. 前言 Mybatis系列全解,我们预计准备10+篇文章,让我们了解到 Mybatis 的基本全貌,真正从入门到上手,从 ...

  6. Ubuntu部署python3.5的开发和运行环境

    Ubuntu部署python3.5的开发和运行环境 1 概述 由于最近项目全部由python2.x转向 python3.x(使用目前最新的 python3.5.1) ,之前的云主机的的默认python ...

  7. Atitit linux获取项目运行环境版本

    Atitit linux获取项目运行环境版本 1.1. Nginx版本1 1.2. Php版本1 1.3. Mysql版本2 1.4. Redis版本2 1.1. Nginx版本 [root@iZ25 ...

  8. 理解Docker(3):Docker 使用 Linux namespace 隔离容器的运行环境

    本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...

  9. Python 2/3 安装与运行环境设置

    Python 2/3 安装与运行环境设置: 1.Python 软件源:https://www.python.org/    下载Win版本 https://www.python.org/downloa ...

随机推荐

  1. Spring Boot与Spring Session集成

    1. 参考资料 https://docs.spring.io/spring-session/docs/current/reference/html5/guides/boot-redis.html ht ...

  2. EasyUI 表格点击右键添加或刷新 绑定右键菜单

    例1 在HTML页面中设置一个隐藏的菜单(前提是已经使用封装的Easyui) 代码: <div id="contextMenu_jygl" class="easyu ...

  3. 51nod 1247 可能的路径(gcd)

    传送门 题意 略 分析 有以下结论 \(1.(x,y)->(y,x)\) \(2.(x,y)->(a,b)==>(a,b)->(x,y)\) 证明 做如下变换 \((a,b)- ...

  4. MongoDb 查看用户名列表 , 修改用户密码

    修改用户密码:  db.addUser("java","java");  查看一下所有的用户 , 查看当前Db的用户名 db.system.users.find ...

  5. childNodes和Children的区别

    1.childNodes: 标准的,返回指定元素的子元素集合,包括HTML属性,所有属性,文本.可以通过nodeType来判断是哪种类型的节点,只有当nodeType==1时才是元素节点,2是属性节点 ...

  6. c++计算程序时间

    #include<iostream.h> #include<time.h> void main() { clock_t start,finish; double totalti ...

  7. LeetCode.896-单调数组(Monotonic Array)

    这是悦乐书的第345次更新,第369篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第210题(顺位题号是896).如果数组单调递增或单调递减,则数组是单调的.如果对于所有 ...

  8. Jquery | 基础 | 慕课网 | 层级选择器

    选择器中的层级选择器处理关系类型: 子元素 后代元素 兄弟元素 相邻元素 <!DOCTYPE html> <html> <head> <meta http-e ...

  9. Selenium | 基础入门

    在maven项目搭建环境: <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifact ...

  10. Suricata的命令行解释

    见官网 https://suricata.readthedocs.io/en/latest/command-line-options.html root@SELKS:~# suricata Suric ...