文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Spring 对象的获取,以及数据库连接应用

2020-06-23 14:26

关注

Spring 对象的获取,以及数据库连接应用[数据库教程]

1.Spring IOC反射机制,需要调用无参构造器

springioc编写规则:接收方注入,需要定义set方法或带参的构造器

//利用反射创建对象(无参构造器),利用反射机制注入参数

  

使用BasicDataSource进行数据库连接,数据库连接连接池,不用考虑创建,与释放连接。实现了DataSource接口

<bean id="dbcp" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="username" value="root">property>
    <property name="password" value="123456">property>
    <property name="driverClassName" value="com.mysql.jdbc.Driver">property>
    <property name="url" value="jdbc:mysql://localhost:3306/tracy">property>
bean>

 

//原理利用反射机制创建对象,调用带参构造器

  

Spring对Jdbc进行了封装,JdbcTemplate依赖于DataSource

<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
    <constructor-arg index="0"  ref="dbcp">constructor-arg>
bean>

一般使用BeanPropertyRowMapper实现类。可以完成数据到JavaBean的自动封装

new BeanPropertyRowMapper<类型>(类型.class)

2.Spring 注解标记的使用,用注解标记获取数据

技术分享图片

 a.创建实体类

public class FanNews implements Serializable {

	public int id;
	public String fan_item;
	public String fan_name;
	

  

b.创建接口

public interface FanNewsDao {
    
    public List loadAll();

}

 

c.创建接口实现类并进行注解标志的添加 一般注解标记默认id是首字母小写,注解标记可以省略set方法

@Repository("fanNewsDao")
public class JdbcTemplateFanNews implements FanNewsDao {
    
    @Autowired
    private JdbcTemplate jdbcTemplate;
    
        public List loadAll() {
    
         String sql="select *from fan_news";
         
          List list=jdbcTemplate.query(sql,new BeanPropertyRowMapper(FanNews.class));
          
          for(FanNews news:list) {
          System.out.println(news.getFan_name()+news.getFan_item()); 
          }
        return list;
    }

}

 

d.在xml开启组件扫描


 <context:component-scan base-package="com.tracy.dao.impl" />

 

e.在test类中进行测试 一般获取接口对象,灵活性比较高  获取的对象为接口对象,不是实现类。

@Test 
      public void TestNewDao() {
      
          String config="com/tracy/xml/applicationContext.xml"; 
      ApplicationContext acc=new  ClassPathXmlApplicationContext(config); 

      FanNewsDao fnd=acc.getBean("fanNewsDao",JdbcTemplateFanNews.class);
      List list=fnd.loadAll(); 
      System.out.println(list); 
      
      for(FanNews news:list) {
      System.out.println("注解标记读取接口"+news.getFan_name()+news.getFan_item()); 
      } 
      }

f.读取的结果

技术分享图片

 

Spring 对象的获取,以及数据库连接应用

原文:https://www.cnblogs.com/tracyDemo/p/13138781.html

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯