MyBatis--HelloWorld

xiaoxiao2021-02-28  99

工具:MyEclipse

jar包:mybatis-3.4.4.jar,mysql-connector-java-5.1.7.bin.jar

项目目录:

步骤

一.新建数据源:jdbc.properties

driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/test username=root password=mysql

二.新建Mybatis配置文件: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> <properties resource="jdbc.properties"></properties> <typeAliases> <typeAlias alias="User" type="mybatis.model.User"/> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </dataSource> </environment> </environments> <mappers> <mapper resource="mapper/UserMapper.xml"/> </mappers> </configuration>

typeAliases类型别名是Java 类型的简称。 它仅仅只是关联到XML 配置,简写冗长的JAVA 类名。例如:

mappers这里是告诉MyBatis 去哪寻找映射SQL 的语句。可以使用类路径中的资源引用,或者使用字符,输入确切的URL 引用,若不明白请继续看下文.

三.新建Model(POJO)(不必照搬,可自行对照数据库中的表)

package mybatis.model; public class User { private int id; private String name; private String password; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }

四.新建Dao

package mybaits.dao; import mybatis.model.User; public interface UserDao { public User getById(int id); }

五.新建Mapper.xml

先在src目录中新建一个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="mybaits.dao.UserDao"> <select id="getById" parameterType="int" resultType="User"> select * from user where id=#{id} </select> </mapper>

namesapce为mapper对应的类

id为所调用的方法parameterType属性为传入的参数类型returnType为返回类型,如果前面mybatis-config.xml中的typeAliases没有写,就得写为 mybatis.model.User,这可以写User就是起别名的好处#{id}即读取传入的id值

六.创建SqlSessionFactoryUtil来读取配置文件和获取Session

package mybatis.util; import java.io.IOException; import java.io.InputStream; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class SqlSessionFactoryUtil { public static SqlSessionFactory sqlSessionFactory; public static SqlSessionFactory getSqlSessionFactory(){ if(sqlSessionFactory==null){ InputStream inputStream = null; try { //读取配置文件 inputStream = Resources.getResourceAsStream("mybatis-config.xml"); //创建SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } catch (IOException e) { e.printStackTrace(); } } return sqlSessionFactory; } public static SqlSession openSession(){ return getSqlSessionFactory().openSession(); } }

七.运行

package mybatis.main; import org.apache.ibatis.session.SqlSession; import mybaits.dao.UserDao; import mybatis.model.User; import mybatis.util.SqlSessionFactoryUtil; public class Main { public static void main(String[] args) { SqlSession session = SqlSessionFactoryUtil.openSession(); UserDao userDao = session.getMapper(UserDao.class); User user = userDao.getById(1); System.out.println("Hello!"+user.getName()); } }
转载请注明原文地址: https://www.6miu.com/read-66820.html

最新回复(0)