Intellij IDEA 的maven项目使用mybatis连接mySql数据库
创建 maven项目
配置启动项
点击OK,后运行就可以 输出 Hello World! 这 maven项目 就建成功了。
搭建mybatis环境
<!-- mybatis核心包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.3.0</version> </dependency> <!-- mysql驱动包 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.29</version> </dependency>
在java包 com.JavaMySql1 创建一个User.java 实体类
package com.JavaMySql1; public class User { private String id; private String user_name; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return user_name; } public void setName(String Name) { this.user_name = Name; } }
在resources文件夹中创建(mybatis-config.xml)核心文件
配置 resources 为资源文件夹
创建 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> <!-- 环境配置 --> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <!-- 数据库连接相关配置 ,这里动态获取config.properties文件中的内容--> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/callcenter2_db" /> <property name="username" value="root" /> <property name="password" value="" /> </dataSource> </environment> </environments> <!-- mapping文件路径配置 --> <mappers> <mapper resource="mapper/UserMapper.xml"/> </mappers> </configuration>
在resources创建一个 mpaaer 文件夹,存放需要映射的xml文件
在mapper创建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指定Dao接口的完整类名 mybatis会依据这个接口动态创建一个实现类去实现这个接口, 而这个实现类是一个Mapper对象--> <!-- id ="接口中的方法名" parameterType="传入的参数类型" resultType = "返回实体类对象,使用包.类名" --> <mapper namespace="com.JavaMySql1.User"> <select id="findById" parameterType="String" resultType="com.JavaMySql1.User"> select * from user where user_id = #{id}</select> <select id="SelectUserName" parameterType="int" resultType="com.JavaMySql1.User"> select * from user where deleted = #{id}</select> </mapper>
App.java
package com.JavaMySql1; import com.JavaMySql1.User; 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.Reader; //import org.junit.Test; /** * Hello world! * */ public class App { public static void main( String[] args ) { System.out.println( "Hello World!" ); //定义读取文件名 String resources = "mybatis-config.xml"; //创建流 Reader reader=null; try { //读取mybatis-config.xml文件到reader对象中 reader= Resources.getResourceAsReader(resources); } catch (IOException e) { e.printStackTrace(); } //初始化mybatis,创建SqlSessionFactory类的实例 SqlSessionFactory sqlMapper=new SqlSessionFactoryBuilder().build(reader); //创建session实例 SqlSession session=sqlMapper.openSession(); //传入参数查询,返回结果 User user=session.selectOne("findById","8001"); //User user=session.selectOne("SelectUserName",1); //输出结果 System.out.println(user.getName()); //关闭session session.close(); } }
运行结果