Mybatis的学习
mybatis:
mybatis是一个数据库框架。
1.导包
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.4</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.34</version>
</dependency>
2.编写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> <!--环境,也就是你的数据库地址--> <environments default="del"> <environment id="del"> <!--事务,保证数据的完整性一致性,回滚机制 update -5000 服务器宕机 update +5000 --> <!--jdbc使用java默认的事务--> <transactionManager type="JDBC"></transactionManager> <!--数据源--> <!--pooled 连接池 快 druid --> <dataSource type="POOLED"> <!--连接数据库的4个条件--> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/world"/> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource> </environment> <environment id="test"> <transactionManager type=""></transactionManager> <dataSource type=""></dataSource> </environment> </environments> <!--在配置文件中指定mapper文件的地址,可以有多个--> <mappers> <mapper resource="com/tedu/dao/CityMapper.xml"/> </mappers> </configuration>
3.编写mapper文件: 该文件负责增删改查
<?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="city"> <!--parameterType参数类型 resultType返回值类型--> <!--resulttype会自动将你的表格数据映射到你指定的对象中--> <select id="findCity" parameterType="int" resultType="com.tedu.pojo.City"> select * from city where id = #{id} </select> </mapper>
4.测试
public class CityTest { @Test public void mytest(){ //以下是mybatis的测试代码,作为了解,不用记忆,可以忘掉,因为后期做ssm整合,这些代码就不用了. try { InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); //该工厂来创建sql会话 SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream); //sqlsession 帮助我们进行数据库增删改查 SqlSession sqlSession = factory.openSession(); City city = sqlSession.selectOne("city.findCity",234); System.out.println(city); sqlSession.close(); } catch (IOException e) { e.printStackTrace(); } } }