MyBatis(2)--MyBatis标准示例(单例)
来源:互联网 发布:网路优化 编辑:程序博客网 时间:2024/05/19 19:15
标准示例
1. 项目结构目录
2. 源码
1>.log4j.properties
log4j.rootLogger=DEBUG , stdoutlog4j.logger.org.mybatis=DEBUGlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%5p %d %C: %m%n
2>.Role.java
package com.anlw.model;public class Role { private Long id; private String roleName; private String note; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getRoleName() { return roleName; } public void setRoleName(String roleName) { this.roleName = roleName; } public String getNote() { return note; } public void setNote(String note) { this.note = note; } @Override public String toString() { return "Role [id=" + id + ", roleName=" + roleName + ", note=" + note + "]"; }}
3>.RoleMapper.java
package com.anlw.mapper;import com.anlw.model.Role;public interface RoleMapper { Role getRole(Long id); void insertRole(Role role); void deleteRole(Long id);}
4>.roleMapper.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.anlw.mapper.RoleMapper"> <select id="getRole" resultType="role" parameterType="long"> select id,role_name as roleName,note from t_role where id = #{id} </select> <insert id="insertRole" parameterType="role"> insert into t_role(role_name,note) values (#{roleName},#{note}) </insert> <delete id="deleteRole" parameterType="long"> delete from t_role where id = #{id} </delete></mapper>
5>.mybatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <typeAliases> <typeAlias type="com.anlw.model.Role" alias="role" /> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"> <property name="autoCommit" value="true"/> </transactionManager> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/mybatis" /> <property name="username" value="root" /> <property name="password" value="123456" /> </dataSource> </environment> </environments> <mappers> <mapper resource="roleMapper.xml" /> </mappers></configuration>
6>.SqlSessionFactoryUtil.java
package com.anlw.util;import java.io.IOException;import java.io.InputStream;import java.util.logging.Level;import java.util.logging.Logger;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class SqlSessionFactoryUtil { // SqlSessionFactory对象 private static SqlSessionFactory sqlSessionFactory = null; //类线程锁 private static final Class<SqlSessionFactoryUtil> CLASS_LOCK = SqlSessionFactoryUtil.class; //私有化构造器 private SqlSessionFactoryUtil(){} //构建SessionFactory public static SqlSessionFactory initSqlSessionFactory(){ String resource = "mybatis-config.xml"; InputStream inputStream = null; try { inputStream = Resources.getResourceAsStream(resource); } catch (IOException e) { Logger.getLogger(SqlSessionFactory.class.getName()).log(Level.SEVERE, null, e); } synchronized (CLASS_LOCK) { if(sqlSessionFactory == null){ sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } } return sqlSessionFactory; } //打开SqlSession public static SqlSession openSqlSession(){ if(sqlSessionFactory == null){ initSqlSessionFactory(); } return sqlSessionFactory.openSession(); }}
7>.Test.java
package com.anlw.main;import org.apache.ibatis.session.SqlSession;import com.anlw.mapper.RoleMapper;import com.anlw.model.Role;import com.anlw.util.SqlSessionFactoryUtil;public class Test { public static void main(String[] args) { SqlSession session = null; try { session = SqlSessionFactoryUtil.openSqlSession(); RoleMapper roleMapper = session.getMapper(RoleMapper.class); Role role = new Role(); role.setRoleName("test"); role.setNote("0825s"); //insert roleMapper.insertRole(role); //delete roleMapper.deleteRole(3L); session.commit(); //select Role r = roleMapper.getRole(1L); System.out.println(r.toString()); } catch (Exception e) { session.rollback(); e.printStackTrace(); }finally { if(session != null){ session.close(); } } }}
阅读全文
1 0
- MyBatis(2)--MyBatis标准示例(单例)
- mybatis(2)---入门示例
- mybatis示例
- Mybatis 示例之 Association (2)
- Mybatis 示例之 Association (2)
- Mybatis 单例获取SqlSessionFactory
- MyBatis(1)--MyBatis入门示例
- MyBatis学习笔记2_示例
- MyBatis(iBatis)入门示例!!!
- MyBatis入门示例
- MyBatis+Spring整合示例
- MyBatis+Spring整合示例
- MyBatis入门示例
- MyBatis入门配置示例
- MyBatis+Spring整合示例
- MyBatis 查询示例
- Mybatis 示例之 Association
- Mybatis 示例之 SelectKey
- git push failed Because the Fault of insufficient permission for adding an object
- STM32L073 使用cube生成ADC多路采样错误解决
- Codeforces 845 A Chess Tourney
- 最长上升子序列
- struts2的入门程序
- MyBatis(2)--MyBatis标准示例(单例)
- [BZOJ2434][NOI2011]阿狸的打字机-AC自动机
- python运维first_chapter
- You Don't Know JS: Types & Grammar 总结
- javascript学习记录(二)-function函数的应用之sort()函数详解
- 从零开始学_JavaScript_系列(55)——Generator函数(3)yield*表达式
- 响应式布局学习
- malloc1
- 从零开始学_JavaScript_系列(56)——Generator函数(4)简写,this与继承