ssm整合之编写MyBatis框架

it2025-11-13  19

ssm整合之编写MyBatis框架

1.修改帐户dao接口的代码如下:

package com.txw.dao; import com.txw.domain.Account; import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Select; import java.util.List; /** *帐户dao接口 * @author Adair */ @SuppressWarnings("all") // 注解警告信息 public interface AccountDao { /** *查询所有账户 * @return */ @Select("select * from account") public List<Account> findAll(); /** *保存帐户信息 * @param account */ @Insert("insert into account (name,money) values (#{name},#{money})") public void saveAccount(Account account); }

声明一下,注解的方式。 2.在resources目录新建SQLMapConfig.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="mysql"> <environment id="mysql"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql:///ssm"/> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <!--引入的配置文件--> <mappers> <!-- 该包下所有的dao接口都可以使用 --> <package name="com.txw.dao"/> </mappers> </configuration>

3.编写测试类的代码如下:

package com.txw.test; import com.txw.dao.AccountDao; import com.txw.domain.Account; 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 org.junit.Test; import java.io.InputStream; import java.util.List; /** * 测试类 * @author Adair */ @SuppressWarnings("all") // 注解警告信息 public class TestMyBatis { /** * 测试查询 * @throws Exception */ @Test public void run1() throws Exception { // 加载配置文件 InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml"); // 创建SqlSessionFactory对象 SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in); // 使用factory创建SqlSession对象 SqlSession session = factory.openSession(); // 获取到代理对象 AccountDao dao = session.getMapper(AccountDao.class); // 查询所有数据 List<Account> list = dao.findAll(); for(Account account : list){ System.out.println(account); } // 关闭资源 session.close(); in.close(); } }

运行结果如图所示: 4.ssm整合之编写MyBatis框架测试保存的方法

package com.txw.test; import com.txw.dao.AccountDao; import com.txw.domain.Account; 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 org.junit.Test; import java.io.InputStream; import java.util.List; /** * 测试类 * @author Adair */ @SuppressWarnings("all") // 注解警告信息 public class TestMyBatis { /** * 测试保存 * @throws Exception */ @Test public void run2() throws Exception { Account account = new Account(); account.setName("Tom"); account.setMoney(400d); // 加载配置文件 InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml"); // 创建SqlSessionFactory对象 SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in); // 创建SqlSession对象 SqlSession session = factory.openSession(); // 获取到代理对象 AccountDao dao = session.getMapper(AccountDao.class); // 保存 dao.saveAccount(account); // 提交事务 session.commit(); // 关闭资源 session.close(); in.close(); } }

运行结果如图所示: 在数据库使用SELECT * FROM account;运行结果如图所示:

最新回复(0)