上面大概了解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(); } } } }