欢迎访问 如意编程网!

如意编程网

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

01.MyBatis入门

发布时间:2024/7/5 编程问答 0 豆豆
如意编程网 收集整理的这篇文章主要介绍了 01.MyBatis入门 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

MyBatis入门:

第一天接触Mybatis,总结一下入门案例的流程:

首先导入Mybatis的jar包和数据库的驱动包

1.创建数据表和实体类

2.创建一个表和实体类映射的xml配置文件,具体配置如下:

1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE mapper 3 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 4 "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 5 <!-- namespace是映射文件的一个唯一标识,用来定位是哪个映射文件 --> 6 <mapper namespace="com.offcn.entity.personMapper"> 7 <!-- id是一条sql语句的唯一标识,parameterType是sql语句中的参数类型 ,resultType是sql语句将要返回的结果的类型 --> 8 <!-- 如果输入的类型是基本数据类型(八种基本数据类型 + string)则#{xxx}可以随意写,但是为了规范最好不要,如果不是基本数据类型则必须写实体类中的字段名 --> 9 <select id="selectPersonById" parameterType="int" resultType="com.offcn.entity.Person"> 10 select * from Person where id = #{id} 11 </select> 12 <!-- sql语句后边不加分号 --> 13 14 <insert id="insertPerson" parameterType="com.offcn.entity.Person"> 15 insert into Person (id,name,bir,address) value (#{id},#{name},#{bir},#{address}) 16 </insert> 17 18 <delete id="deletePersonById" parameterType="int"> 19 delete from Person where id = #{id} 20 </delete> 21 22 <update id="updatePerson" parameterType="com.offcn.entity.Person"> 23 update person set name=#{name},bir=#{bir},address=#{address} where id = #{id} 24 </update> 25 26 <select id="selectPerson" resultType="com.offcn.entity.Person"> 27 select * from person 28 </select> 29 30 </mapper>

3.编写全局配置文件conf.xml,包含数据库信息和映射文件信息,代码如下:

1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE configuration 3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 4 "http://mybatis.org/dtd/mybatis-3-config.dtd"> 5 <configuration> 6 <!-- 环境的配置,可以配置多个,可以通过default该换id定位使用哪个环境,也可以通过 sessionFactory的第二个参数设置--> 7 <environments default="development"> 8 <environment id="development"> 9 <!-- 配置事物的提交方式,一共有两种 10 1.JDBC:利用JDBC的方式处理事务,需要手动提交(commit,rollback,close) 11 2.MANAGED:将事务由其他组件托管(spring,jobss),默认会关闭连接,如果想要自动关闭连接需要配置一个属性 12 <property name="driver" value="false"/> 13 --> 14 <transactionManager type="JDBC"/> <!-- 后边的斜杠不能省略 --> 15 16 <!-- 数据源格式类型: 17 1.POOLED:数据连接池模式 18 2.UNPOOLED:传统的jdbc模式,每次都需要自己手动创建关闭 19 3.JNDI:从tomcat中获取一个内置的数据库连接池 20 --> 21 <dataSource type="POOLED"> 22 <property name="driver" value="com.mysql.jdbc.Driver"/> 23 <property name="url" value="jdbc:mysql://localhost:3306/person?serviceTimeout=UTC"/> 24 <property name="username" value="root"/> 25 <property name="password" value="root"/> 26 </dataSource> 27 </environment> 28 </environments> 29 <mappers> 30 <mapper resource="com/offcn/entity/personMapper.xml"/> 31 </mappers> 32 </configuration>

3.写一个测试类,进行增删改查的测试,步骤如下:

1 package com.offcn.entity; 2 3 import java.io.IOException; 4 import java.io.Reader; 5 import java.util.Date; 6 import java.util.List; 7 8 import org.apache.ibatis.io.Resources; 9 import org.apache.ibatis.session.SqlSession; 10 import org.apache.ibatis.session.SqlSessionFactory; 11 import org.apache.ibatis.session.SqlSessionFactoryBuilder; 12 13 public class Test { 14 public static void main(String[] args) throws IOException { 15 // selectPerosnById(); 16 //insertPerson(); 17 //deletePersonById(); 18 //updatePerson(); 19 selectPerson(); 20 } 21 //根据id查询 22 public static void selectPerosnById() throws IOException { 23 //读取conf.xml 配置文件 24 Reader reader = Resources.getResourceAsReader("conf.xml"); 25 //创建sqlSessionFactory 26 SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader); 27 //创建session---> connection 28 SqlSession session = sessionFactory.openSession(); 29 //statement ---> statement 30 String sql = "com.offcn.entity.personMapper." + "selectPersonById"; 31 //查询一条数据 32 Person person = session.selectOne(sql,1); 33 //提交事务 34 session.commit(); 35 System.out.println(person); 36 //关闭连接 37 session.close(); 38 39 } 40 //增加一条数据 41 public static void insertPerson() throws IOException { 42 //读取conf.xml文件 43 Reader reader = Resources.getResourceAsReader("conf.xml"); 44 //创建一个sqlSessionFactory 45 SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader); 46 //创建一个session对象 47 SqlSession session = sessionFactory.openSession(); 48 //定位sql语句 49 String statement = "com.offcn.entity.personMapper." + "insertPerson"; 50 //执行sql语句 51 Person person = new Person("李四",new Date(),"上海普陀"); 52 int count = session.insert(statement,person); 53 //提交事务 54 session.commit(); 55 System.out.println("增加"+count+"条数据"); 56 //关闭连接 57 session.close(); 58 } 59 //根据id删除一条数据 60 public static void deletePersonById() throws IOException { 61 //读取conf.xml文件 62 Reader reader = Resources.getResourceAsReader("conf.xml"); 63 //获取sqlSessionFactory 64 SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader); 65 //获取session对象 66 SqlSession session = sessionFactory.openSession(); 67 //定位sql语句 68 String statement = "com.offcn.entity.personMapper."+"deletePersonById"; 69 //执行sql语句 70 int count = session.delete(statement,2); 71 //提交事务 72 session.commit(); 73 System.out.println("删除"+count+"条数据"); 74 //关闭连接 75 session.close(); 76 } 77 //更改数据 78 public static void updatePerson() throws IOException { 79 //读取conf.xml 80 Reader reader = Resources.getResourceAsReader("conf.xml"); 81 //创建sqlSessionFactory 82 SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader); 83 //创建sqlsession对象 84 SqlSession session = sessionFactory.openSession(); 85 //定位sql 86 String statement = "com.offcn.entity.personMapper." + "updatePerson"; 87 //执行sql语句 88 Person person = new Person(); 89 person.setName("王五"); 90 person.setBir(new Date()); 91 person.setAddress("南京"); 92 person.setId(1); 93 int count = session.update(statement,person); 94 //提交事务 95 session.commit(); 96 System.out.println("更改" + count +"条数据成功"); 97 //关闭连接 98 session.close(); 99 } 100 //查询所有数据 101 public static void selectPerson() throws IOException { 102 //读取conf.xml 103 Reader reader = Resources.getResourceAsReader("conf.xml"); 104 //创建sqlSessionFactory 105 SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader); 106 //创建sqlsession对象 107 SqlSession session = sessionFactory.openSession(); 108 //定位sql 109 String statement = "com.offcn.entity.personMapper." + "selectPerson"; 110 //执行sql语句 111 List<Person> persons = session.selectList(statement); 112 //提交事务 113 session.commit(); 114 for (Person person : persons) { 115 System.out.println(person); 116 } 117 118 //关闭连接 119 session.close(); 120 } 121 }

到此就完成了一个Mybatis的入门程序。

转载于:https://www.cnblogs.com/man-tou/p/11332626.html

总结

以上是如意编程网为你收集整理的01.MyBatis入门的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得如意编程网网站内容还不错,欢迎将如意编程网推荐给好友。