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();
            }
            }
        }
    }
会当凌绝顶,一览众山小
原文地址:https://www.cnblogs.com/quenvpengyou/p/13503855.html