IDEA 創(chuàng)建項目
創(chuàng)建項目.PNG
全注解方式
Mybatis maper的全注解形式允粤,不用dao接口寺惫,不用mapper的xml文件睬棚,都在一個類里面
/**
* mybatis的dao接口和mapper配置文件的合體
*/
@Mapper
@Repository
public interface CustomerMapper {
@Select("SELECT * FROM customers")
List<Customer> findAll();
}
application.properties
server.port=8080
server.servlet.context-path=/boot
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
# mysql
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/shpun?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root
測試通過
@RunWith(SpringRunner.class)
@SpringBootTest
public class TestspringbootApplicationTests {
@Autowired
private CustomerMapper customerMapper;
@Test
public void testCustomerMapper(){
System.out.println(customerMapper.findAll());
}
}
xml方式
mybatis-config.xml 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>
<settings>
<!-- 全局映射器啟用緩存 -->
<setting name="cacheEnabled" value="true"/>
<!-- 允許JDBC支持生成的鍵 -->
<setting name="useGeneratedKeys" value="true"/>
<!-- 配置默認執(zhí)行器 Reuse 重用預處理語句 -->
<setting name="defaultExecutorType" value="REUSE"/>
<!-- 全局啟用延遲加載 -->
<setting name="lazyLoadingEnabled" value="true"/>
<!-- 設置超時時間表制,決定驅(qū)動等待一個數(shù)據(jù)庫相應的時間 -->
<setting name="defaultStatementTimeout" value="2500"/>
</settings>
</configuration>
CustomerMapper.xml mapper的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.shpun.dao.CustomerDao">
<select id="selectAllCustomers" resultType="customer">
select * from customers
</select>
</mapper>
application.properties
server.port=8888
server.servlet.context-path=/yml
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
# mysql
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/shpun?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root
# mybatis
mybatis.type-aliases-package=com.shpun.bean
mybatis.config-location=classpath:mybatis/mybatis-config.xml
mybatis.mapper-locations=classpath:mapper/*.xml
dao 接口
@Mapper
@Repository
public interface CustomerDao{
List<Customer> selectAllCustomers();
}
測試通過
@RunWith(SpringRunner.class)
@SpringBootTest
public class TestspringbootApplicationTests {
@Autowired
private CustomerDao customerDao;
@Test
public void testCustomerDao(){
System.out.println(customerDao.selectAllCustomers());
}
}
ps:
先前用xml的時候崎场,提示錯誤找不到dao的bean,在dao上添加
@Mapper
如果是多個dao接口的話砂竖,每個都加比較麻煩真椿,可以在SpringBootApplication的java類中添加