首页 > 代码库 > myBatis01
myBatis01
1.创建对应的数据库以及需要的表
2.创建对应的java项目,引入需要的mybatis需要的jar,以及连接mysql数据库的jar!
3.创建对应的Student实体类
/** *学生的实体类 */ public class Student { private Integer id; // 学生编号 private String name; // 姓名 private Integer age; // 年龄 /** * 对应的有参无参构造以及对应的get和set方法 */ public Student() { super(); } public Student(Integer id, String name, Integer age) { super(); this.id = id; this.name = name; this.age = age; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }
4.创建对应的接口以及mapper文件
public interface StudentDao { /** * 新增学生信息 */ void addStudent(Student student); }
<?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="student"> <insert id="addStudent" parameterType="cn.bdqn.bean.Student"> insert into student(age,name) values(#{age},#{name}) </insert> </mapper>
5.创建对应的实现类和工具类
public class StudentDaoImpl implements StudentDao { /** * 新增学生信息 */ public void addStudent(Student student) { SqlSession session = null; try { // 通过工具类获取session session = SessionUtil.getSession(); /** * "addStudent" 要和mapper.xml文件中的id一致 * 增删改 操作 底层 执行的都是update方法 */ session.insert("addStudent", student); // 必须手动让session提交 底层默认就提交了事务 session.commit(); } catch (Exception e) { e.printStackTrace(); } finally { if (session != null) { session.close(); // 关闭session } } } }
/** * SqlSessionFactory我们只需要创建一次即可! * 所以我们使用单例! */ public class SessionUtil { private static SqlSessionFactory sessionFactory; public static SqlSession getSession() { try { /** * 读取核心配置文件 不需要关闭流 因为一旦读取了文件到内存中 * 流在底层自动关闭了 * 查看build(stream)源码得知 */ InputStream stream = Resources.getResourceAsStream("mybatis.xml"); if (sessionFactory == null) {// 判断sessionFactory是否为空 sessionFactory = new SqlSessionFactoryBuilder().build(stream); } } catch (IOException e) { e.printStackTrace(); } // 返回session 这里的openSession()没有携带参数 return sessionFactory.openSession(); } }
6.创建mybatis的核心配置文件和日志文件
<?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> <!-- 通过properties文件配置连接数据库的四要素 --> <properties resource="jdbc.properties" /> <!-- 设置别名 两种方式 --> <typeAliases> <!-- 01.这种方式别名可以随意取 但是如果有多个 类 就需要配置多个typeAlias <typeAlias type="cn.bdqn.bean.Student" alias="student"/> --> <package name="cn.bdqn.bean"/><!-- 02.这种方式要求别名必须使用简写的类名 --> </typeAliases> <!-- 配置运行环境 可以有多个 environment --> <environments default="mysql"><!-- 默认采用的环境 --> <environment id="mysql"> <!-- 环境的名称 --> <!--配置事务管理 采用jdbc默认的事务管理 之后整合的时候 肯定是交给了 spring来处理了 --> <transactionManager type="JDBC" /> <!-- 数据源采用的是连接池技术 POOLED:mybatis自带的数据源,JNDI:基于tomcat的数据源 --> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </dataSource> </environment> </environments> <!-- 加载映射文件信息 --> <mappers> <mapper resource="cn/bdqn/dao/StudentMapper.xml" /> </mappers> </configuration>
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%-5p] %c %L %m %n
log4j.rootLogger=debug,console
7.创建测试类测试
public class StudentTest { @Test public void test() { StudentDao dao = new StudentDaoImpl(); dao.addStudent(new Student(1, "小黑", 10)); } }
8.查看运行结果
myBatis01
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。