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();
- }
- }
- }