1.创建Maven项目
1.选择 File--> New--> Project |
2.选择Maven-->选择自己的JDK版本--> Next |
3.创建项目名,并定义项目存放位置--> Finish |
二.Maven基础配置
1.创建好Maven项目后,打开Maven项目中的pom.xml文件,加载所需要的jar包; |
2.在pom.xml文件中找到 </properties>结束标签,在下一行添加所需要的依赖,如下: |
<dependencies>
<!-- 测试包 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!-- mybatis核心包 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
<!-- mysql驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.10</version>
</dependency>
</dependencies>
三.创建数据库
1.创建数据库 |
2.使用当前数据库(为了避免创建的数据表不在指定的数据库中); |
3.创建数据库。 |
注:创建完成后注意检查是否成功。 |
四.创建实体类与接口
1、数据库建好后回到Maven项目中,依次打开 src / main,然后右键 java新建一个包(package),再在包下面新建一个包(package),在当前包中新建一个User实体类。
package com.xxxx.ber; public class uesr { private Integer id; private String password; private String name; public uesr() { super(); } public uesr(Integer id, String password, String name) { this.id = id; this.password = password; this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } @Override public String toString() { return "uesr{" + "id=" + id + ", password='" + name + '\'' + ", name='" + password + '\'' + '}'; } }
2、在 java文件夹下第一层级的包中新建另一个包,再在当前包中新建一个接口(UserMapper)
import com.xxxx.ber.uesr; import java.util.List; public interface UserMapper { //查询所有信息 public List<uesr> queryAll(); //添加 public void addUser(uesr user); //修改 public boolean updateUser(uesr user); //根据id删除信息 public void deleteUserById(int id); }
五.文件配置
1.数据库连接
依次打开 src / main,然后右键 resources新建一个properties文件(dbconfig.properties); |
jdbc.driver = com.mysql.jdbc.Driver jdbc.url = jdbc:mysql://127.0.0.1:3306/db_book?characterEncoding=UTF-8 jdbc.username = root jdbc.password =
2.mybatis的xml文件配置
右键 resources新建一个xml文件(mybatis-config.xml);
<?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> <!-- mybatis可以使用properties来引入外部properties配置文件的内容 resource:引入类路径下的资源s --> <properties resource="properties.properties"></properties> <!-- environments:环境,mybatis可以设置多种环境; default指定使用某种环境,可以达到快速切换环境 environment:配置一个具体的环境信息;必须有两个标签;id代表当前环境的唯一标识 type:事务管理器的类型;JDBC(JdbcTransactionFactory)MANAGED(ManagedTransactionFactory) 自定义事务管理器:实现TransactionFactory接口,type指定为全类名 dataSource:数据源 type:数据源UNPOOLED(UnpooledDataSourceFactory) POOLED(PooledDataSourceFactory) JNDI(JndiDataSourceFactory) 自定义数据源:实现DataSourceFactory接口,type是全类名 --> <environments default="db_mysql"> <environment id="db_mysql"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <!-- 数据库连接相关配置 ,这里动态获取dbconfig.properties文件中的内容--> <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> <!-- databaseIdProvider:支持多数据库厂商的; type="DB_VENDOR":VendorDatabaseIdProvider 作用就是得到数据库厂商的标识(驱动getDatabaseIDProductName()),mybatis就能根据数据库厂商标识来执行不同的sql; --> <databaseIdProvider type="DB_VENDOR"> <property name="MySQL" value="mysql"/> </databaseIdProvider> <mappers> <mapper resource="UserMapper.xml"/> <!-- sql映射文件路径 --> </mappers> </configuration>
3.SQL映射文件的配置
右键 resources新建一个xml文件(UserMapper.xml);
<?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="com.demo.mybatis.UserMapper"> <!-- namespace :名称空间;指定接口的全类名 id:唯一标识(建议用接口中对应的方法名命名) resultType:返回值类型 --> <select id="queryAll" resultType="com.xxxx.ber.uesr"> select * from tb_user </select> <!-- 自增主键值的获取,mybatis也是利用statement.getGeneratedKeys(); useGeneratedKeys="true";使用自增获取主键值策略 keyProperty:指定对应的主键值,也就是mybatis获取到主键值以后,将这个值封装给javaBean的哪个属性 --> <insert id="addUser" useGeneratedKeys="true" keyProperty="id"> insert into tb_user(name,password) values(#{name},#{password}) </insert> <!-- 根据name修改password的值 --> <update id="updateUser"> update tb_user set password=#{password} where name=#{name} </update> <delete id="deleteUserById"> delete from tb_user where id=#{id} </delete> </mapper>
六.测试
在 src / test / java 下新建一个类(Test)
1.增加
import com.xxxx.ber.uesr; import com.demo.mybatis.UserMapper; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import java.io.IOException; import java.io.InputStream; import java.util.List; public class Test { public SqlSessionFactory getSqlSessionFactory() throws IOException { String resource = "nnn.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); return new SqlSessionFactoryBuilder().build(inputStream); } @org.junit.Test public void demo() throws IOException { SqlSessionFactory sessionFactory = getSqlSessionFactory(); SqlSession openSession = sessionFactory.openSession(); try { UserMapper mapper = openSession.getMapper(UserMapper.class); mapper.deleteUserById(3); openSession.commit(); //执行增删改是需手动提交数据 } finally { openSession.close(); } } }
2.修改
注:后续改、查、删操作只需修改 try 语句块里面语句即可。
UserMapper mapper = openSession.getMapper(UserMapper.class);
uesr uesr = new uesr(null, "Tom", "222");
mapper.updateUser(uesr);
openSession.commit(); //执行增删改是需手动提交数据
3.查询
List<User> list = openSession.selectList("com.demo.mybatis.dao.UserMapper.queryAll");
for (uesr uesr:list) {
System.out.println(uesr);
}
4.删除
UserMapper mapper = openSession.getMapper(UserMapper.class);
mapper.deleteUserById(3);
openSession.commit(); //执行增删改是需手动提交数据
到这里就完成了在idea中创建maven工程,搭建mybatis框架 完成增、删、改、查操作。谢谢观看