zoukankan      html  css  js  c++  java
  • Mybatis快速入门Demo

    1:导入mybatis相关jar

    2:编写Mybatis配置文件(mybatis.xml 名字任意取都行) (最主要的配置 连接数据库 和关联 实体与数据库的映射文件)

    <?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>
    
        <!-- 加载Src下的配置文件   -->
        <properties resource="db.properties"/>
        <!--别名机制-->
        <typeAliases>
            <typeAlias type="com.cn.entity.User" alias="user"/>
        </typeAliases>
    
        <!-- 连接mysql数据库   -->
        <environments default="mysql_development">
            <environment id="mysql_development">
                <transactionManager type="JDBC"/>
                <dataSource type="POOLED">
                    <property name="driver" value="${driverClass}"/>
                    <property name="url" value="${jdbcUrl}"/>
                    <property name="username" value="${user}"/>
                    <property name="password" value="${password}"/>
                </dataSource>
            </environment>
    
            <!--  连接Oracle数据库  -->
            <environment id="oracle_development">
                <transactionManager type="JDBC"/>
                <dataSource type="POOLED">
                    <property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
                    <property name="url" value="jdbc:oracle:thin:localhost:1521:orcl"/>
                    <property name="username" value="${user}"/>  <!--value的值 相当于mysql的数据库的名 在oracle中就是登陆的用户-->
                    <property name="password" value="${password}"/>
                </dataSource>
            </environment>

    </environments> <!-- 加载映射文件 --> <mappers> <mapper resource="com/cn/entity/mybatisUserMapper.xml"/> </mappers> </configuration>

    3编写实体bean 字段尽量与数据库中的表对应

    public class User {
    
        private int id;
        private String username;
        private Date birthday;
        private String sex;
        private String address;
    
        ....省get set....  
    }

    4实体与数据库的映射文件

    <?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.cn.entity.User" >
    
        <!--一个resultmap相当与一张数据表与实体的设 当实体与数据库表字段不一直时需要配置-->
    <!--    <resultMap id="accountResultMap" type="account" >-->
    <!--        <id column="acc_id" property="accId" jdbcType="INTEGER" />-->
    <!--        <result column="acc_login" property="accLogin" jdbcType="VARCHAR" />-->
    <!--        <result column="acc_name" property="accName" jdbcType="VARCHAR" />-->
    <!--        <result column="acc_pass" property="accPass" jdbcType="VARCHAR" />-->
    <!--    </resultMap>-->
    
        <!--用户登录-->
        <select id="findAll" resultType="user" >
            select  * from user;
      </select>
    
    </mapper>

    5测试的app

    public class TestApp {
        public static void main(String[] args) {
            try {
    
                /*
                    加载资源的一种方式:
                    InputStream in = Resources.getResourceAsStream("mybatis.xml");
                    //创建SqlSessionFactory
                    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
                    SqlSession sqlSession = sqlSessionFactory.openSession();
                    System.out.println(sqlSession);
                */
                SqlSession sqlSession = MyBatisUtil.getSqlSession();
                List<User> list = sqlSession.selectList("com.cn.entity.User.findAll");
                for(User u :list){
                    System.out.println(u);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }


    结果:

    User{id=1, username='zhangsan', birthday=Mon Feb 05 00:00:00 CST 2018, sex='男', address='湖南'}
    User{id=2, username='rose', birthday=Thu Mar 08 00:00:00 CST 2018, sex='女', address='东莞'}
    User{id=3, username='black', birthday=Fri Feb 19 00:00:00 CST 2021, sex='男', address='深圳'}
    User{id=4, username='pink_girl', birthday=Sat Aug 24 00:00:00 CST 2019, sex='女', address='changsan'}
    User{id=8, username='heheh', birthday=Sat Aug 24 00:00:00 CST 2019, sex='女', address='huana'}

     
    坚持
  • 相关阅读:
    EasyDSS视频平台定制项目中普通用户登录无法全局搜索出文件的排查及优化
    EasyDSS前端代码运行npm install命令报错如何处理?
    运行EasyDSS前端代码报错Can't find Python executable“python”如何处理?
    EasyDSS视频平台前端点播服务列表跨页新增水印不展示第二页数据优化
    EasyDSS视频平台点播服务选中点播文件删除失败分析及排查
    EasyDSS视频平台下载录像由于ts文件原因导致MP4文件缺秒问题优化
    ffmpeg推流到服务器如何通过EasyDSS视频平台将视频保存为文件?
    EasyDSS视频平台是如何对直播流和点播流做处理的?
    EasyDSS视频平台点播页选中视频通道进行导出表单操作无反应排查
    如何允许EasyDSS在线课堂系统上传点播文件时文件名带有空格?
  • 原文地址:https://www.cnblogs.com/gaoSJ/p/13038888.html
Copyright © 2011-2022 走看看