zoukankan      html  css  js  c++  java
  • MyBatis 6

    上面大概了解MyBatis的原理

    下面实例的:

    先创建个POJO类

    package com.learn.ssm.chapter3.pojo;
    public class Role{
        private Long id ;
        private String roleName;
        privare String note;
        /------get and set方法-----/
        }

    来一个接口

    package com.learn.ssm.chapter3.mapper;
    public interface RoleMapper{
        public int insertRole(Role role);
        public int    deleteRole(Long id);
        public int updateRole(Role role);
        public List<Role> findRoles(String roleName);
        public Role getRole(Long id);
        }

    映射器xml文件

     1 //映射器xml文件    
     2 <?xml version="1.0" encoding="UTF-8" ?>
     3 <!DOCTYPE mapper PUBLIC XXXXXXX>
     4 
     5     <mapper namespace="com. learn.ssm.chapter3.mapper.RoleMapper">
     6         
     7         <insert id="insertRole" parameterType="role">
     8             insert into t_role(role_name,note) value(#{rolename}, #{note})
     9             </insert>
    10             
    11             <delete id=     parameterType="long”>
    12             sql语句
    13             </delete>
    14             
    15             <update>
    16             sql语句
    17             </update>
    18             
    19             <select>
    20             sql语句
    21             </select>
    22             
    23             
    24             <select>
    25             sql语句
    26             </select>
    27             
    28             
    29         </mapper>
    30             

    还有mybatis的基础配置文件

    mybatis
    //基础配置文件    
    <configuration>
        
        <typeAliases><!--别名·
            <typeAlias id="role" type="package com.learn.ssm.chapter3.pojo.Role"/>//type对应的是Role的详细地址
            </typeAliases>
            
        //数据库环境
        <environments id="development">
            <envionment id="development">
            <transactionManager type="JDBC"/>
            
            <dataSource type=“POOLED">
            <property name="driver" value="com.mysql.jdbc.Driver"/>
            <property name="url" value="jdbc:mysql://localhost:3306/ssm"/>
            <property name="username" value="root"/>
            <property name="password" value="root"/>
            </dataSource>
            </envionment>
            </environments>
            
            
        //调用映射文件
        <mappers>
        <mapper resource="com/learn/ssm/chapter3/mapper/RoleMapper.xml"/>
        </mappers>
        
        </configuration>

    创建sqlsessionfactory

    paakage com.learn.ssm.chapter3.utils;
        public class SqlSessionFactoryUtils{
            
            private final static Class<SqlSessionFactoryUtils> LOCK = SqlSessionFactoryUtils.class;
            
            privare static SqlSessionFactory sqlSessionFactory =null;
            
            private SqlSessionFactoryUtils{
                synchronized(LOCK);
                if(sqlSessionFactory != null){
                    return sqlSessionFactory;
                    }
                String resource = "mybatis-config.xml";
                
                InputStream inputStream ;
                try{
                    inputStream = Resource.getResourceAsStrean(resource);
                    
                    sqlSessionFactory = new  SqlSessionFactoryBuilder().build(inputStream);
                    }
                    catch(Exception e){
                        e.printStackTrace();
                        return null;
                        }
                        
                    return sqlSessionFactory;
                    }
                }
                
                public static SqlSession openSession(){
                if(sqlSessionFactory == null){
                getSqlSessionFactory();
                }
                
                return sqlSessionFactory.openSession();
                }
                }

    然后开始运行代码

    //开始运行代码
    package com.learn.ssm.chapter3.main;
        public class Chapter3Main{
            public static void main(String [] args ){
                
                Logger log = Logger.getLogger(Chapter3Main.class);//日志
                SqlSession sqlSession = null;
                try{
                sqlSession = SqlSessionFactoryUtils.openSession();//创建sqlsession
                
                RoleMapper roleMapper = sqlSession.getMapper(RoleMapper.class);
                
                Role role = roleMapper.getRole(1L);
                
                log.info(role.getRoleName());
                }
                finally{
                if(sqlSession != null){
                sqlSession.close();
                }
                }
            }
        }
    会当凌绝顶,一览众山小
  • 相关阅读:
    SQL Server 2008通过PassPhrase加密数据
    SQL Server 2008之Values
    Merge(在一条语句中使用Insert,Update,Delete) 对两个表进行同步数据
    Linux yum常用命令介绍
    SQL Server 2008之WaitFor
    Android之TelephonyManager类的方法详解
    TextView里的文 html
    adb
    Apk得到Java源代码
    【Android】调用系统应用常用uri & intent设置
  • 原文地址:https://www.cnblogs.com/quenvpengyou/p/13503855.html
Copyright © 2011-2022 走看看